私はこのフォーマットの配列を持っています:
P1
5 5
0 0 0 0 0
0 1 0 1 0
1 0 1 0 1
1 1 1 1 1
0 0 0 1 1
そして、ハフマンを使用してこの配列を順番に圧縮したいと思います。私の質問は、ハフマンアルゴリズムで検索すると、複数の文字しか見つからず、これに似たものが何もないため、可能かどうかです。
可能であれば、どうすればよいですか?
私はこれを試しました:
def getBitString(file):
file = open(ficheiro, "rb").read()
string = ""
for byte in file:
print(byte)
string+=format(byte,'08b')
return string
ファイルをバイナリに変換しただけです。問題が進行することを考えていますが、行き詰まっています。助けが必要です
ハフマン符号化は、符号化時にテキスト内のアルファベットからセーフスペースまでの文字の確率を使用します。それが機能するためには、2文字以上のアルファベットが必要になります。2文字は、格納に1ビット、エンコード時に1ビットが必要です。それは何も安全ではありません。
サンプルデータを使用すると、すべての行を文字として表示できます。ただし、ハフマンエンコーディングが役立つには、他にも要件があります。文字を繰り返す必要があるほど、優れています。繰り返されない文字は5つだけです。
25ビットをエンコードする単純なケースでは、ハフマンエンコードは役に立ちません。より多くの繰り返しデータがあると、そうなる可能性があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加