Um einen Text in Matlab zu dekodieren und ihn als lesbar auszugeben, gibt es verschiedene Ansätze, je nach dem zugrunde liegenden Kodierungsalgorithmus. Im Folgenden wird ein Beispiel gezeigt, wie man auf Huffman-codierte Texte zugreifen kann:
Zunächst muss der Text in eine Binärfolge umgewandelt werden, damit er verarbeitbar ist:
main.m33 chars2 lines
Dann kann man eine Huffman-Tabelle erstellen, um die Binärfolge zu decodieren. Die Huffman-Tabelle ist ein Zellarray, bei dem jede Zelle eine Zeichenkette darstellt, die einem binären Code entspricht. Wenn der Code einer Zelle innerhalb der Binärfolge gefunden wird, wird dieser Code durch das entsprechende Zeichen ersetzt. Hierzu können die Funktionen huffmandict
und huffmanenco
verwendet werden:
main.m77 chars3 lines
Nun muss der Binärcode in einen Text zurückgewandelt werden:
main.m28 chars2 lines
Hierbei ist alphabet
ein Vektor, der alle im Text vorkommenden Zeichen enthält, und probability
ein Vektor mit der relativen Häufigkeit dieser Zeichen im Text. Die Funktion text2bin
wandelt den Text in Binärformat um, huffmandict
erstellt die Huffman-Tabelle aus dem Alphabet und der Wahrscheinlichkeit, huffmanenco
wendest den Kodierungsalgorithmus an, und bin2text
konvertiert das Ergebnis in Text. Beachten Sie, dass Sie einen geeigneten Huffman-Algorithmus unter Berücksichtigung Ihres Textes verwenden müssen, da das Alphabet und die Wahrscheinlichkeit variieren können.
gistlibby LogSnag