toSize method Null safety
- Uint8List bytes
Converts a Uint8List
into its compact size representation.
Implementation
static Uint8List toSize(Uint8List bytes) {
int size = bytes.length;
BytesBuilder byteList = BytesBuilder();
if (size <= 252) {
byteList.addByte(size);
} else if (size <= 0xffff) {
byteList.addByte(253);
Uint16List uint16list = Uint16List.fromList([size]);
byteList.add(uint16list.buffer.asUint8List());
} else if (size <= 0xffffffff) {
byteList.addByte(254);
Uint32List uint32list = Uint32List.fromList([size]);
byteList.add(uint32list.buffer.asUint8List());
} else {
byteList.addByte(255);
Uint64List uint64list = Uint64List.fromList([size]);
byteList.add(uint64list.buffer.asUint8List());
}
return byteList.toBytes();
}