位流中的位是否有首选顺序(其中位流有点类似于 Java 的 Input/OutputStream,但提供位级粒度)?
我读过 DEFLATE 算法的霍夫曼阶段的输出考虑到一个字节的最低有效位 (lsb) “在”最高有效位 (msb) 之前,用于编码非字节-对齐的值。是否有理由选择 lsb-to-msb 排序而不是 msb-to-lsb 排序?例如,这是否允许稍微更简单/更快的解码(或编码)代码?
我假设 Java 中的“InputBitStream”类会提供一些基本操作:
class InputBitStream {
// Optimized for reading a SINGLE bit.
public int readSingleBit() {...}
// Optimized for reading large segments of bits,
// not just readSingleBit() -> put in result -> repeat,
// but if possible, shifting in a byte at a time.
public int readMultipleBits(int count) {...}
}
DEFLATE 位包装: http ://www.gzip.org/zlib/rfc-deflate.html#packing