Удалить символы Юникода из списка во флаттере - PullRequest
0 голосов
/ 22 февраля 2020

Я отправляю информацию из GPS-модуля Neo-6M в приложение Flutter. Пока мне удалось получить его в шестнадцатеричной форме, но преобразование из uint8 List из библиотеки flutter_blue_serial в текст с использованием библиотеки convert дает ошибку. Данные верны, я вручную сопоставил шестнадцатеричные значения с таблицей ASCII.

Ошибка в том, что он пытается преобразовать недопустимый символ U + 005b '[' со смещением 0.

import 'package:convert/convert.dart';

var con = schedule.bluetoothInstance;
con.input.listen((gpsData){
  var result = hex.decode(gpsData.toString());
  print(result);
});

Я изменил все шестнадцатеричные значения на ASCII 1, чтобы избежать предоставления прочь мое местоположение, но это то, как выглядят входные данные с H C -05.

I/flutter ( 9322): [45]
I/flutter ( 9322): [49, 49, 46, 49, 49, 49, 49, 49, 49, 49]
I/flutter ( 9322): [49, 49, 49, 49, 49, 49, 49, 49, 49, 49]
I/flutter ( 9322): [49, 49, 49, 49, 49, 13, 10]

Есть ли в любом случае, я могу удалить все экземпляры '[' и ']', чтобы я мог преобразовать значения в символах ASCII?

1 Ответ

0 голосов
/ 22 февраля 2020

Исправлено с помощью встроенной библиотеки конверта Дарт

import 'dart:convert';
var con = schedule.bluetoothInstance;
con.input.listen((gpsData){
  print(ascii.decode(gpsData));
});
...