質問

少しストリームのビットよりも優先順序はありますか(Javaの入力/outputStreamに少しストリームが多少類似していますが、ビットレベルの粒度を提供します)?

デフレートアルゴリズムのハフマン段階の出力は、非バイトをエンコードする目的で、「最も重要なビット(MSB)の前に「最小限」のビット(LSB)が「最も重要なビット(MSB)」を考慮していることを読みました。アラインされた値。 MSBからLSBへの注文とは対照的に、LSBからMSBへの注文を選択する理由はありますか?たとえば、これにより、何らかの形でデコード(またはエンコード)コードがわずかに簡単になりますか?

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) {...}
}

ビットパッキングをデフレートします:http://www.gzip.org/zlib/rfc-deflate.html#packing

役に立ちましたか?

解決

いいえ、標準的な順序はありません。問題のインターフェイスによって異なります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top