Package com.google.zxing.common
Class BitSource
java.lang.Object
com.google.zxing.common.BitSource
This 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.
- Author:
- Sean Owen
- 
Constructor SummaryConstructors
- 
Method Summary
- 
Constructor Details- 
BitSourcepublic BitSource(byte[] bytes) - Parameters:
- bytes- bytes from which this will read bits. Bits will be read from the first byte first. Bits are read within a byte from most-significant to least-significant bit.
 
 
- 
- 
Method Details- 
getBitOffsetpublic int getBitOffset()- Returns:
- index of next bit in current byte which would be read by the next call to readBits(int).
 
- 
getByteOffsetpublic int getByteOffset()- Returns:
- index of next byte in input byte array which would be read by the next call to readBits(int).
 
- 
readBitspublic 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:
- IllegalArgumentException- if numBits isn't in [1,32] or more than is available
 
- 
availablepublic int available()- Returns:
- number of bits that can be read successfully
 
 
-