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