ホーム / 計算機 / オンラインデータ圧縮シミュレーター
無料オンラインツール

オンラインデータ圧縮シミュレーター

テキストを入力してハフマン符号化の圧縮シミュレーションを実行。各文字の符号とビット数を確認し、圧縮の仕組みを学べます. 処理はブラウザ内でローカルに行われます。

使ってみる

ハフマン符号化の仕組みを学ぶ

このシミュレーターは、入力テキストの各文字の出現頻度に基づいてハフマン木を構築し、各文字に可変長の2進符号を割り当てます。例えば「AAAA」と入力すると、元のUTF-8ビット数は32ビットですが、ハフマン符号のペイロードは4ビットになります。「ABBC」では元が32ビット、ペイロードが6ビットです。日本語の「你好」では元が48ビット、ペイロードが2ビットになります。

実際の動作と制限

このツールは教育目的のシミュレーターであり、実際のファイル圧縮は行いません。生成されるのは符号表とペイロードビット数の計算結果のみで、圧縮ファイルや解凍プログラムは出力されません。ペイロードには符号表やヘッダーなどのオーバーヘッドが含まれないため、実際の圧縮率とは異なります。特に短いテキストでは圧縮効果が保証されません。

入力の注意点

入力できるのは最大100,000 UTF-16コード単位です。絵文字などは2コード単位で数えられるため、実際の文字数より少ない場合があります。空のテキストはエラーになります。改行やスペースも1文字として扱われ、結合文字や絵文字のシーケンスは複数のコードポイントに分かれて表示されることがあります。

よくある質問

結果の一覧に「\n」のような表記があるのはなぜ?

JSON引用形式では、改行やタブなどの制御文字がエスケープ表記で表示されます。実際の入力文字とは異なるので注意してください。

同じ頻度の文字がある場合、符号はどう決まる?

ハフマン木の構築時に同頻度のノードの結合順序によって符号が変わることがあります。重要なのは重み付き符号長の合計であり、符号自体の一意性は保証されます。

このツールで実際のファイルを圧縮できますか?

いいえ。このツールはテキストのハフマン符号化をシミュレーションするもので、圧縮ファイルの生成やダウンロードはできません。あくまで教育用です。

チェックリスト

  • 入力テキストは100,000 UTF-16コード単位以内か確認する
  • 空のテキストでないことを確認する
  • 結果のビット数はペイロードのみで、実際の圧縮サイズではないことを理解する
  • モバイルでは小さなサンプルから試す

処理はブラウザ内でローカルに行われます。