Package com.google.zxing.common
Class BitSource
- java.lang.Object
-
- com.google.zxing.common.BitSource
-
public final class BitSource extends java.lang.ObjectThis provides an easy abstraction to read bits at a time from a sequence of bytes, where the number of bits read is not often a multiple of 8.
This class is thread-safe but not reentrant -- unless the caller modifies the bytes array it passed in, in which case all bets are off.
-
-
Field Summary
Fields Modifier and Type Field Description private intbitOffsetprivate intbyteOffsetprivate byte[]bytes
-
Constructor Summary
Constructors Constructor Description BitSource(byte[] bytes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()intgetBitOffset()intgetByteOffset()intreadBits(int numBits)
-
-
-
Method Detail
-
getBitOffset
public int getBitOffset()
- Returns:
- index of next bit in current byte which would be read by the next call to
readBits(int).
-
getByteOffset
public int getByteOffset()
- Returns:
- index of next byte in input byte array which would be read by the next call to
readBits(int).
-
readBits
public int readBits(int numBits)
- Parameters:
numBits- number of bits to read- Returns:
- int representing the bits read. The bits will appear as the least-significant bits of the int
- Throws:
java.lang.IllegalArgumentException- if numBits isn't in [1,32] or more than is available
-
available
public int available()
- Returns:
- number of bits that can be read successfully
-
-