在 flutter 中将字符串转换为 Uint8Array
Convert string to Uint8Array in flutter
我对 Flutter 非常陌生,我不知道从哪里开始。我需要像这样转换一个字符串
349caa523e0787003e0787033e053e08 到(我假设是颤振中的数组)写入 flutter_blue.
我需要将其转换为 0x39、0x9c、0xaa .... 这样我就可以将其传递给 await d.write([0xXX, 0xXX])
我确实得到了一些帮助Javascript例如
var s = "ab05d705";
var result = [];
for (var i = 0; i < s.length; i += 2) {
result.push(parseInt(s.substring(i, i + 2), 16));
}
result = Uint8Array.from(result);
如有任何帮助,我们将不胜感激。
谢谢
如果您想要类似于您的 Javascript 片段的内容:
var s = "ab05d705";
var result = [];
for (var i = 0; i < s.length; i += 2) {
result.add(int.parse(s.substring(i, i + 2), radix: 16));
}
您可以执行下面的任何选项来隐藏它:
选项 1:
String s = new String.fromCharCodes(inputAsUint8List);
var outputAsUint8List = new Uint8List.fromList(s.codeUnits);
选项 2:
List<int> list = 'xxx'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);
String string = String.fromCharCodes(bytes);
codeUnits 给你一个列表
Uint8List.fromList(...) 将 List 转换为 Uint8List
String.fromCharCodes(...) 将 List 或 Uint8List 转换为 String
List<int> list = 'xxx'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);
String string = String.fromCharCodes(bytes);
我对 Flutter 非常陌生,我不知道从哪里开始。我需要像这样转换一个字符串 349caa523e0787003e0787033e053e08 到(我假设是颤振中的数组)写入 flutter_blue.
我需要将其转换为 0x39、0x9c、0xaa .... 这样我就可以将其传递给 await d.write([0xXX, 0xXX])
我确实得到了一些帮助Javascript例如
var s = "ab05d705";
var result = [];
for (var i = 0; i < s.length; i += 2) {
result.push(parseInt(s.substring(i, i + 2), 16));
}
result = Uint8Array.from(result);
如有任何帮助,我们将不胜感激。 谢谢
如果您想要类似于您的 Javascript 片段的内容:
var s = "ab05d705";
var result = [];
for (var i = 0; i < s.length; i += 2) {
result.add(int.parse(s.substring(i, i + 2), radix: 16));
}
您可以执行下面的任何选项来隐藏它:
选项 1:
String s = new String.fromCharCodes(inputAsUint8List);
var outputAsUint8List = new Uint8List.fromList(s.codeUnits);
选项 2:
List<int> list = 'xxx'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);
String string = String.fromCharCodes(bytes);
codeUnits 给你一个列表
Uint8List.fromList(...) 将 List 转换为 Uint8List
String.fromCharCodes(...) 将 List 或 Uint8List 转换为 String
List<int> list = 'xxx'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);
String string = String.fromCharCodes(bytes);