uvarintMarshalBinaryAlt function
Implementation
Uint8List uvarintMarshalBinaryAlt(int val, [int? field]) {
const int radix = 8; // Set radix value
BigInt bigInt = BigInt.from(val); // converting int to BigInt for Unsigned bit data conversion
final data =
ByteData((bigInt.bitLength / radix).ceil()); // Create Empty byte array with length(in bytes) in given number
var _bigInt = bigInt;
var i = 0;
for (i = 0; i < data.lengthInBytes; i++) {
data.setUint8(i, _bigInt.toUnsigned(radix).toInt()); // Extract last 8 bits and convert them into decimal
_bigInt = _bigInt >> 7;
}
if (field != null) {
return fieldMarshalBinary(field, data.buffer.asUint8List());
}
return data.buffer.asUint8List();
}