hex2BitSet static method
Reads an ASCII-hex bitmap at the buffer's current position without consuming it.
Implementation
static IsoBitSet hex2BitSet(IsoBuffer buffer, int maxBits) {
final int offset = buffer.position;
int length = maxBits > 64 ? ((digit(buffer.getAt(offset), 16) & 0x08) == 8 ? 128 : 64) : maxBits;
if (length > 64 && maxBits > 128 && buffer.limit > 16 && (digit(buffer.getAt(offset + 16), 16) & 0x08) == 8) length = 192;
final IsoBitSet bitSet = IsoBitSet();
for (int i = 0; i < length; i++) {
final int nibble = digit(buffer.getAt(offset + (i >> 2)), 16);
if (nibble & (0x08 >> i % 4) > 0) {
bitSet.set(i + 1);
if (i == 65 && maxBits > 128) length = 192;
}
}
return bitSet;
}