====== Parsing Integers ====== {{tag>documentation amf3}} Integer-data is probably the single most used item in AMF3. The implementation of it is a little complicated so this page includes a reference implementation of parsing the AMF3 integer-data type: private int readAMF3Integer() throws IOException { int n = 0; int b = in.readUnsignedByte(); int result = 0; while ((b & 0x80) != 0 && n < 3) { result <<= 7; result |= (b & 0x7f); b = in.readUnsignedByte(); n++; } if (n < 3) { result <<= 7; result |= b; } else { /* Use all 8 bits from the 4th byte */ result <<= 8; result |= b; /* Check if the integer should be negative */ if (result > AMF3_MAX_VALUE) { /* and extend the sign bit */ result -= (1 << 29); } } return result; }