テキスト⇔2進数・16進数変換
文字列を、UTF-8・UTF-16・Shift_JISなど選んだ文字コードのバイト列として、2進数・8進数・16進数で表示します。「数値 → テキスト」に切り替えると、バイト列から元の文字列へ戻せます。数値そのものの進数変換は進数変換、ファイルや文字化けの確認は文字コード変換、Base64はBase64エンコード/デコードをご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
使い方
- 「テキスト → 数値」か「数値 → テキスト」を選びます。
- 「文字コード」と「進数」を選びます(日本語はUTF-8かShift_JISが一般的です)。
- 入力欄にテキスト、または数値のバイト列を入力すると、結果が自動で表示されます。
- 「コピー」で結果をクリップボードにコピーします。
注意事項
- 同じテキストでも文字コードによってバイト列が変わります。たとえば『あ』はUTF-8では E3 81 82、Shift_JISでは 82 A0 です。
- 数値 → テキストでは、空白・カンマ・改行区切りのほか、区切りなしの連続した数値も1バイトずつ読み取ります。0x や \x の接頭辞も使えます。
- Shift_JISはCP932(Windows)に近い対応表を使います。表現できない文字は半角の?に置き換わります。
- UTF-16は文字ごとに2バイト(絵文字などは4バイト)で、LEは下位バイトが先、BEは上位バイトが先です。
- この変換は暗号化ではありません。誰でも元のテキストに戻せます。
用語解説
バイト列
コンピューターが文字を保存・送受信するときの、0〜255の数値(8ビット)の並びです。文字をどの数値に対応させるかは文字コードが決めます。
BOM
Byte Order Mark。UTF-8やUTF-16のデータの先頭に付ける目印のバイト列(UTF-8は EF BB BF)で、文字コードやバイト順を示します。付けないのが一般的です。
リトルエンディアン/ビッグエンディアン
UTF-16のように1文字を複数バイトで表すときの並び順です。リトルエンディアン(LE)は下位バイトから、ビッグエンディアン(BE)は上位バイトから並べます。
よくある質問
同じ文字なのに文字コードで結果が違うのはなぜですか?
文字コードは「どの文字をどのバイトで表すか」の取り決めだからです。たとえば「あ」はUTF-8では E3 81 82(3バイト)、Shift_JISでは 82 A0(2バイト)、UTF-16では 30 42(BEの場合)になります。ASCIIの英数字はUTF-8とShift_JISで同じ値になります。
数値からテキストに戻すとき、区切りは必要ですか?
不要です。空白・カンマ・改行で区切っても、区切りなしで続けて書いても読み取れます。区切りなしの場合は1バイトぶんの桁数(2進数8桁、8進数3桁、16進数2桁)ごとに区切るので、桁数が足りないとエラーになります。0x や \x の接頭辞も使えます。
Shift_JISに変換すると「?」(3F)になる文字があります。
Shift_JISに無い文字(絵文字や一部の記号など)は表現できないため、「?」に置き換えます。該当する文字は結果欄の下に表示されます。そうした文字を含む場合はUTF-8かUTF-16を選んでください。
数値からテキストに戻すと「�」が出ます。
選んだ文字コードとして解釈できないバイトが含まれているためです。バイト列を作ったときの文字コードと同じものを選んでいるか、一部が抜けていないかを確認してください。
このページをシェア
