bytesToInt function
Converts bytes to an integer.
Implementation
int bytesToInt(List<int> bytesData,
{bool signed = false, Endian byteOrder = Endian.little}) {
final ByteData byteData = ByteData.sublistView(Uint8List.fromList(bytesData));
if (signed) {
switch (bytesData.length) {
case 1:
return byteData.getInt8(0);
case 2:
return byteData.getInt16(0, byteOrder);
case 4:
return byteData.getInt32(0, byteOrder);
case 8:
return byteData.getInt64(0, byteOrder);
default:
throw ArgumentError('Invalid byte length for signed integer');
}
} else {
switch (bytesData.length) {
case 1:
return byteData.getUint8(0);
case 2:
return byteData.getUint16(0, byteOrder);
case 4:
return byteData.getUint32(0, byteOrder);
case 8:
return byteData.getUint64(0, byteOrder);
default:
throw ArgumentError('Invalid byte length for unsigned integer');
}
}
}