需要一些帮助将十六进制字符串转换为 Ascii 字符串。
我正在使用这里
的示例函数十六进制示例 = 20354653474955 我收到此错误:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: RangeError (end): Invalid value: Not in inclusive range 20..21: 22
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FormatException: Invalid radix-16 number (at character 1)
对于在 Dart 上完成这项工作有什么建议吗?
这是我正在使用的功能:
String hexToAscii(String hexString) => List.generate(
hexString.length ~/ 2,
(i) => String.fromCharCode(int.parse(hexString.substring(i * 2, (i * 2) + 2), radix: 16)),
).join();
我想通了。子字符串参数 (i *2,(i *2) +2) 似乎不正确。它跳过了十六进制字符串的一些序列。