int32ToBytes static method

Uint8List int32ToBytes(
  1. int value, {
  2. ByteOrder byteOrder = ByteOrder.bigEndian,
})

Convert signed 32-bit integer to bytes.

Parameters:

Returns: 4 bytes in big-endian format

Example:

final bytes = DataConverter.int32ToBytes(1234);
// [0x00, 0x00, 0x04, 0xD2]

Implementation

static Uint8List int32ToBytes(int value, {ByteOrder byteOrder = ByteOrder.bigEndian}) {
  final data = ByteData(4);
  if (byteOrder == ByteOrder.bigEndian) {
    data.setInt32(0, value, Endian.big);
  } else {
    // Little endian (swap words)
    data.setInt32(0, value, Endian.big);
    final high = data.getUint16(0, Endian.big);
    final low = data.getUint16(2, Endian.big);
    data.setUint16(0, low, Endian.big);
    data.setUint16(2, high, Endian.big);
  }
  return data.buffer.asUint8List();
}