Ich übe die Huffman-Codierung aus meiner Programmierklasse. Ich habe fast alle Kodierungsteile gemacht. Zum Beispiel habe ich jedem Zeichen einen Code (d. H. A = 100100) zugewiesen und wandle jedes Zeichen im Text entsprechend seinem Code um. Dann parse ich jeden Code in eine Liste von Bytes, wie das Analysieren von 100100 in ein Byte und das Speichern in der Liste. Allerdings muss ich alle Bytes in eine TXT-Datei schreiben. Ich habe festgestellt, dass es ein Problem gibt.Java schreiben Byte in eine TXT-Datei
Beispiel: Ein Zeichen hat den Code "1001" und es wird in die TXT-Datei als 1 Byte statt nur 4 Bit geschrieben.
Ich weiß, dass nach dem Huffman-Codierung, Zeichen in einem Format wie gespeichert werden: „11100111101011111101011011111000010000101“ aber jetzt meine Situation ist jedes Zeichen nimmt 1 Byte Größe, die vor der Codierung nicht anders in der Größe mit der ursprünglichen Eingabedatei hat .
Gibt es eine Möglichkeit, den Code im Format "11100111101011111101011011111000010000101" zu speichern?
Entschuldigung für mein Englisch, ich versuchte mein Bestes, um meine Verwirrung zu erklären.
Sie müssen jedes Byte als binäre Zeichenfolge schreiben. [This] (http://stackoverflow.com/questions/4421400/how-to-get-0-padded-binary-representation-of-an- integer-in-java) Thema kann Ihnen helfen. –
Ich habe gerade Ihre Methode versucht, wenn ich Zeichenfolge anstelle von Byte in die Datei schreiben, wäre die Dateigröße 10 mal größer. – Ming
Das ist der Unterschied zwischen TXT und Binärformat. –