テキストを2進・16進・8進のバイト列で見る

「あ」は実際の通信ではどんなバイト列か。UTF-8のバイトを0と1、16進ペア、8進数で表示し、数値列をテキストに戻します。

このガイドで使う道具

やりたいこと

エンコーディング問題のデバッグやUTF-8の意味を学ぶには、バイトを見るのが最初です。ASCII文字は1文字1バイト、日本語は1文字3バイト。2進や16進で見れば差は一目です。

使い方

テキストを入力して2進(1バイト8ビット)、16進(1バイト2桁)、8進(3桁)を選びます。逆方向は数値を貼り付けて(空白区切りでも連続でも)復号します。

  • 16進はコンパクトなデバッグビューで、1バイトが1ペア、hexdumpと対応しやすいです。
  • 復号は厳密なUTF-8チェックです。テキストとして不正なバイトはそのまま出力せず拒否します。

具体例

「あ」をエンコードするとe3 81 82の3バイト(U+3042のUTF-8の3バイト形)が出ますが、Aは41の1バイトのままです。バイト数制限が日本語に3倍厳しい理由が分かります。

注意点

これはバイト表現の表示で、暗号化でも圧縮でもありません。変換は誰でも戻せます。復号はテキスト専用で、有効なUTF-8でないバイナリは拒否します。バイナリファイルにはヘックスダンプやBase64ツールを使ってください。