List<int> list = 'hello'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);
String string = String.fromCharCodes(bytes);
print(string);
1、包长设置两字节 两字节转包长
int oldlenth = 4;
var data = ByteData(2);
data.setInt16(0, oldlenth);
var bytes = data.buffer.asUint8List();
print(bytes);
Uint8List uint8Data = Uint8List.fromList(bytes);
ByteData byteData = ByteData.sublistView(uint8Data);
int newlenth = byteData.getInt16(0);
print(newlenth);
2、string -> Uint8List
Uint8List encode(String s) {
var encodedString = utf8.encode(s);
var encodedLength = encodedString.length;
var data = ByteData(encodedLength + 4);
data.setUint32(0, encodedLength, Endian.big);
var bytes = data.buffer.asUint8List();
bytes.setRange(4, encodedLength + 4, encodedString);
return bytes;
}