stringToU8a function
Implementation
Uint8List stringToU8a(String msg, {String? enc, bool useDartEncode = true}) {
if (useDartEncode == false) {
if (enc == 'hex') {
msg = strip0xHex(msg);
List<int> hexRes = [];
msg = msg.replaceAll(RegExp("[^a-z0-9]"), '');
if (msg.length % 2 != 0) msg = '0' + msg;
for (var i = 0; i < msg.length; i += 2) {
var cul = msg[i] + msg[i + 1];
var result = int.parse(cul, radix: 16);
hexRes.add(result);
}
return Uint8List.fromList(hexRes);
} else {
List<int> noHexRes = [];
for (var i = 0; i < msg.length; i++) {
var c = msg.codeUnitAt(i);
var hi = c >> 8;
var lo = c & 0xff;
if (hi > 0) {
noHexRes.add(hi);
noHexRes.add(lo);
} else {
noHexRes.add(lo);
}
}
return Uint8List.fromList(noHexRes);
}
} else {
return Uint8List.fromList(utf8.encode(msg));
}
}