Ich denke über das Schreiben einiger Daten in einen Bitstrom mit C. Es gibt zwei Möglichkeiten. Eine besteht darin, variable Bitlängensymbole in eine zusammenhängende Bitsequenz zu verketten, aber auf diese Weise wird es für meinen Decoder wahrscheinlich schwierig sein, diese Symbole von diesem kontinuierlichen Bitstrom zu trennen. Eine andere Möglichkeit besteht darin, die gleiche Anzahl von Bits für das Symbol zu verteilen, und auf diese Weise kann der Decodierer die Originaldaten leicht wiederherstellen, aber es kann eine Verschwendung von Bits geben, da die Symbole unterschiedliche Werte haben, die wiederum viele Bits im Bitstrom verursachen Null (diese Abfälle Bits denke ich).Wie schreibe ich einen Bitstrom
Irgendein Hinweis, was ich tun sollte?
Ich bin neu in der Programmierung. Jede Hilfe wird geschätzt.
Hier ist meine Antwort zu ähnlich Frage hier: http: // stac koverflow.com/questions/11253123/how-can-i-print-a-bit-instead-of-byte-in-a-file/11253310#11253310 –
Der übliche Weg ist das Packen der Bits, aber das erfordert Logik zu kenne die Bitzahl auf der anderen Seite. Sie könnten nach und nach dekodieren, um zu wissen, wann Sie das Ende eines Symbols erreicht haben. –
Ihre Frage bezieht sich auf den Bereich der Codierung. Huffman-Codierung, wie unten erwähnt, ist eine Option. Aber es gibt andere als Huffman-Codierung ist nicht die einzige (aber es ist sicherlich die beliebteste). Siehe das Buch "Compression and Coding Algorithms" von Moffat und Turpin. Die meisten Komprimierungsbücher haben etwas mit Codierung; Dieses Buch konzentriert sich auf die Codierung. In Bezug auf "harte Zeit Trennung" benötigen Sie einen Code, der Präfix-frei ist - kein Code ist ein Präfix von jedem anderen. – Ray