Frage

Gibt es eine bevorzugte Reihenfolge für die Bits in einem Bitstrom (wo ein Bitstrom etwas analog zu Javas Eingang/Ausgangsstream ist, aber Bit-Level-Granularität bietet)?

Ich habe gelesen, dass die Ausgabe der Huffman-Stufe des Deflate-Algorithmus das am wenigsten signifikante Bit (LSB) eines Bytes vor dem "Vor" das am wichtigste Bit (MSB) zum Zwecke der Codierung von Nicht-Byte-Bit (MSB) betrachtet ausgerichtete Werte. Gibt es einen Grund für die Auswahl der LSB-to-MSB-Bestellung im Gegensatz zur MSB-to-LSB-Bestellung? Ermöglicht dies beispielsweise irgendwie einen etwas einfacheren / schnelleren Dekodierungscode (oder Codierungscode)?

Ich gehe davon aus, dass eine "InputBitstream" -Klasse in Java einige grundlegende Operationen liefern würde:

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

Entleerungsbitverpackung:http://www.gzip.org/zlib/rfc-deflate.html#packing

War es hilfreich?

Lösung

Nein, es gibt keine Standardreihenfolge. Es variiert je nach der fraglichen Schnittstelle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top