文字はバイト列で保存されている
コンピューターの中では、文字は「文字コード」というルールで数値(バイト列)に変換されて保存されています。同じ文字でも文字コードによってバイト列が変わるため、文字化けの原因調査では16進数で中身を確認するのが近道です。
| 文字 | UTF-8 | Shift_JIS | EUC-JP |
|---|---|---|---|
| A | 41 | 41 | 41 |
| あ | E3 81 82 | 82 A0 | A4 A2 |
| 漢 | E6 BC A2 | 8A BF | B4 C1 |
| ア(半角) | EF BD B1 | B1 | 8E B1 |
入力形式は自由
Hex → 文字列の変換では、スペース・カンマ・改行・0x・\x・% を自動で取り除きます。バイナリエディタや Wireshark、xxd コマンドの出力(16進部分)をそのまま貼り付けられます。
よくある質問
「UTF-8 として解釈できないバイト列です」と表示されます
選択した文字コードとして不正なバイト列です。文字コードを切り替えるか、データがテキストではない(画像など)可能性を確認してください。
BOM(EF BB BF)とは?
UTF-8 のファイル先頭に付くことがある3バイトの目印です。Hex変換すると先頭に EF BB BF が表示されることで、BOMの有無を確認できます。