将字符串转换为字节飞镖数组



我正在使用一个返回数据XML的Web服务,如何将包含词法表示的字符串xsd:hexBinary不是base64格式转换为Uint8List,来自java我可以通过以下方式做到这一点:

import javax.xml.bind.DatatypeConverter;
....
byte[] decoder = DatatypeConverter.parseHexBinary(hexStringXls);

public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}

这是你想要的吗?

final s = "somestring";
final List<int> bytes = s.codeUnits;

https://api.dart.dev/stable/2.8.4/dart-core/String/codeUnits.html

最新更新