微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在颤振中将字符串转换为 Uint8Array

如何解决在颤振中将字符串转换为 Uint8Array

我对 Flutter 非常陌生,我不知道从哪里开始。我需要转换这样的字符串 349caa523e0787003e0787033e053e08 to(我假设是Flutter中的一个数组)写入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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。