テキストを16進数に変換とは?
Text to Hex はテキストを16進数バイトに変換します。各文字がHEX値に対応し、デバッグ、ネットワーク分析、バイナリプロトコルの確認に役立ちます。
既定では UTF-8 を使うため、アクセント付きラテン文字、キリル文字、CJK、アラビア語、絵文字はすべて正しいバイト列に変換されます。レガシーなシステムやプロトコルに合わせて、エンコーディングを UTF-16、ASCII、Latin-1 に切り替えることもできます。出力はスペース、コロン、カンマ、区切りなしで整形でき、C スタイル配列向けに各バイトへ `0x` を付けたり、大文字・小文字を切り替えたりできます。入力は手入力、クリップボードからの貼り付け、テキストファイルのアップロードに対応。逆変換モードは hex 文字列をテキストに戻し、余分な空白や `0x` 接頭辞も許容します。
使い方
- 入力欄にテキストを入力または貼り付けるか、貼り付けボタンでクリップボードから取り込むか、テキストファイルをアップロードします。
- hex の形式を選びます。エンコーディング(UTF-8、UTF-16、ASCII、Latin-1)、区切り(スペース、カンマ、コロン、なし)、接頭辞(0x)、大文字・小文字、そして hex ダンプ表示のための任意のバイト分割。
- HEX出力をコピーしてコードやドキュメントに使えます。HEXからテキストへの逆変換も可能です。
使用するタイミング
- バイナリプロトコルで文字列を送る前に、生のバイト列を確認したいとき。
- 非 ASCII の文字列を C / Rust / Go のソースにバイト配列として埋め込みたいとき。
- 実際のバイト列と期待値を見比べてエンコーディングの不一致を切り分けたいとき。
結果
'Hello World' を入力すると、空格区切りで '48 65 6C 6C 6F 20 57 6F 72 6C 64'、0x プレフィックス付きで '0x48,0x65,0x6C...'(C言語配列向け)が得られます。
よくある質問
- コンバーターはどの文字エンコーディングを使いますか?
- 既定は UTF-8 で、エンコーディング欄から UTF-16、ASCII、Latin-1 を選べます。UTF-8 では通常の ASCII 文字は 1 バイトずつ(A → 41)、絵文字や CJK は複数バイトに広がります(😀 → F0 9F 98 80)。これはファイルや HTTP ボディ、多くの API が実際に送る形と同じです。1 バイトのレガシーテキストには Latin-1 を、7 ビットを超えるものを検出したいときは ASCII を選んでください。
- 絵文字 1 文字で hex が 4 つ出てくるのはなぜ?
- 絵文字や多くの非ラテン文字は 0x7F を超えるコードポイントを持つため、UTF-8 では 2、3、4 バイトで表現されます。🚀 1 文字は 4 ペア(F0 9F 9A 80)になり、それぞれがそのマルチバイト列の 1 バイトずつです。
- 区切りが混在した hex でも逆変換は動きますか?
- 動きます。デコーダは `0x` を除去し、空白・カンマ・コロン・ハイフンを無視して hex 桁に見える文字を連結します。`0x48,0x65 6C-6C:6F` と `48656C6C6F` はどちらも "Hello" に戻ります。
- `0x` プレフィックスを付けるかどうかで何が変わりますか?
- 記法上の選択です。`0x48` は C / C++ / Rust / Go のソースコードでの定番表記、プレフィックス無しの `48` は hex ダンプ、パケットキャプチャ、多くのネットワークツールで使われます。コードに貼るなら付け、ログには付けないのが慣例です。
- 出力はハッシュなど暗号用途にそのまま使えますか?
- 得られるのは UTF-8 の生バイトで、ハッシュや HMAC アルゴリズムの正しい入力(これらはバイトで動作する)に必要な最初の一歩です。あとはそのバイトをハッシュツールへ渡してください。hex 文字列そのものはハッシュではありません。