Ich versuche, einen Huffman-Baum in die komprimierte Datei zu schreiben, nachdem die eigentlichen Daten der komprimierten Datei eingefügt worden sind. Aber ich habe gerade ein kleines Problem erkannt. Angenommen, ich entscheide mich dafür, dass ich, sobald alle meine tatsächlichen Daten in die Datei geschrieben wurden, 2 Zeilenvorschubzeichen einfüge und dann den Baum schreibe. Das heißt, wenn ich die Daten zurücklese, sind diese beiden Zeilenvorschübe (oder jedes andere Zeichen) meine Begrenzungszeichen. Das Problem ist, dass es durchaus möglich ist, dass die tatsächlichen Daten auch 2 Zeilenumbrüche hintereinander haben, in einem solchen Szenario würde meine Trennzeichenprüfung fehlschlagen. Ich habe das Beispiel von zwei Zeilenumbrüchen hier genommen, aber das gleiche gilt für jede Zeichenkette, ich könnte das Problem umgehen, indem ich vielleicht eine längere Zeichenfolge als Begrenzer nehme, aber das würde zwei unerwünschte Effekte haben: 1. Es besteht immer noch die entfernte Möglichkeit, dass die lange Zeichenkette zufällig in den komprimierten Daten enthalten ist. 2. Unnötige Aufblähung einer Datei, die komprimiert werden muss.
Hat jemand einen Vorschlag, wie man die komprimierten Daten von den Baumdaten trennen kann?