encode function
Uint8List
encode
(int number, [ Uint8List buffer, int offset ])
Implementation
Uint8List encode(int number, [Uint8List buffer,int offset]) {
// if (!isUint(number, 53));
buffer = buffer ?? new Uint8List(encodingLength(number));
offset = offset ?? 0;
ByteData bytes = buffer.buffer.asByteData();
// 8 bit
if (number < 0xfd) {
bytes.setUint8(offset, number);
// 16 bit
} else if (number <= 0xffff) {
bytes.setUint8(offset, 0xfd);
bytes.setUint16(offset + 1, number, Endian.little);
// 32 bit
} else if (number <= 0xffffffff) {
bytes.setUint8(offset, 0xfe);
bytes.setUint32(offset + 1, number, Endian.little);
// 64 bit
} else {
bytes.setUint8(offset, 0xff);
bytes.setUint32(offset + 1, number, Endian.little);
bytes.setUint32(offset + 5, (number ~/ 0x100000000) | 0, Endian.little);
}
return buffer;
}