テキストを16進数に変換とは?

Text to Hex はテキストを16進数バイトに変換します。各文字がHEX値に対応し、デバッグ、ネットワーク分析、バイナリプロトコルの確認に役立ちます。

既定では UTF-8 を使うため、アクセント付きラテン文字、キリル文字、CJK、アラビア語、絵文字はすべて正しいバイト列に変換されます。レガシーなシステムやプロトコルに合わせて、エンコーディングを UTF-16、ASCII、Latin-1 に切り替えることもできます。出力はスペース、コロン、カンマ、区切りなしで整形でき、C スタイル配列向けに各バイトへ `0x` を付けたり、大文字・小文字を切り替えたりできます。入力は手入力、クリップボードからの貼り付け、テキストファイルのアップロードに対応。逆変換モードは hex 文字列をテキストに戻し、余分な空白や `0x` 接頭辞も許容します。

使い方

  1. 入力欄にテキストを入力または貼り付けるか、貼り付けボタンでクリップボードから取り込むか、テキストファイルをアップロードします。
  2. hex の形式を選びます。エンコーディング(UTF-8、UTF-16、ASCII、Latin-1)、区切り(スペース、カンマ、コロン、なし)、接頭辞(0x)、大文字・小文字、そして hex ダンプ表示のための任意のバイト分割。
  3. 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 文字列そのものはハッシュではありません。

関連ツール