getInt static method

int getInt(
  1. Uint8List buffer,
  2. int offset
)

Converts four bytes of a byte array to a signed 32-bit integer.

The byte order is big-endian.

Implementation

static int getInt(Uint8List buffer, int offset) {
  assert(buffer.length >= offset + 4);
  if (buffer[offset] & 0x80 > 0) {
    return -1 *
        (((buffer[offset] & 0x7f) ^ 0x7f) << 24 |
            ((buffer[offset + 1] & 0xff) ^ 0xff) << 16 |
            ((buffer[offset + 2] & 0xff) ^ 0xff) << 8 |
            ((buffer[offset + 3] & 0xff) ^ 0xff) + 1);
  }
  return (buffer[offset] & 0x7f) << 24 | (buffer[offset + 1] & 0xff) << 16 | (buffer[offset + 2] & 0xff) << 8 | (buffer[offset + 3] & 0xff);
}