16進数エンコーダー / デコーダー
テキストやファイルを16進数に変換し、元に戻します。文字セットと大文字小文字を選択でき、スペース・コロン・ハイフン・0x 付きの hex もデコード可能。
入力内容とファイルはブラウザ内に留まります
エンコードするテキストを入力するか、デコードする 16 進数を貼り付けてください(下にファイルをドロップすることもできます)。
ここにファイルをドラッグ&ドロップ
ファイルを選択した場合、テキスト入力は無視されます。
エンコードまたはデコードの結果がここに表示されます。
このページの内容
テキストや任意のファイルを 16 進数の文字列に変換し、hex ダンプをテキストやバイト列に戻せます。変換は Rust からコンパイルした WebAssembly がブラウザ内で行うため、ファイルの中身がアップロードされることはありません。
詳細な機能
各バイトが 2 桁の 16 進数になるので、文字列がどんなバイトでできているかを正確に確認できます。UTF-8 のバイト列、BOM、改行コード、目に見えない文字のチェックに便利です。テキストは選んだ文字セット(UTF-8、UTF-16LE、UTF-16BE、ASCII、ISO-8859-1)で変換され、16進数ケース で 小文字 と 大文字 を切り替えられます。
デコーダーは、デバッガーやパケットキャプチャ、証明書からコピーしたよくある形式を受け付けます。連続した形式(48656c6c6f)、スペースや改行区切り、コロンやハイフン区切り(48:65:6c、48-65-6c)、各バイトに 0x が付いた形式(0x48 0x65)です。厳密に検証したい場合は デコードオプション でそれぞれ無効にできます。桁数が奇数のときや 16 進数以外の文字があるときはエラーになり、問題の文字が入力欄で選択されます。
ファイルは選択またはドロップでき、Web Worker で進捗バーと キャンセル 付きで読み込まれます。デコード結果が選択した文字セットで有効なテキストにならない場合(バイナリのダンプなど)はその旨が表示され、ダウンロード で生のバイト列を保存できます。
実用例
テキストを hex に: Hi! は 486921 に、UTF-8 の Привет は d09fd180d0b8d0b2d0b5d182(12 バイト、キリル文字 1 文字につき 2 バイト)になります。
文字セットとバイト順: 文字 A は UTF-16LE では 4100、UTF-16BE では 0041 です。
区切り付きの hex: 48:65:6c:6c:6f、48-65-6c-6c-6f、0x48 0x65 0x6C 0x6C 0x6F はいずれも Hello にデコードされます。
検証: 48656c6c6(9 桁)は途中で切れているとして拒否され、4865zz は 5 文字目に不正な文字があると報告されます。
このツールの使い方
テキストを入力するかファイルを選ぶ
テキスト に、エンコードしたいテキストかデコードしたい hex 文字列を入力または貼り付けます。ファイルをページにドロップするか ファイルを選択 をクリックしても構いません。
文字セットとケースを設定する
テキストをバイト列にする テキスト文字セット と、出力の 16進数ケース を選びます。デコードオプション では 空白を無視、セパレーター (: および -) を許可、0x プレフィックスを許可 をオン/オフします。
エンコードまたはデコードする
エンコード で hex を生成し、デコード で hex をテキストやバイト列に戻します。入力が不正な場合は、問題の文字の位置がエラーに表示されます。
コピーまたはダウンロードする
コピー で結果をクリップボードへ、ダウンロード でファイルに保存します。バイナリの結果はダウンロードのみ可能です。
ヒントとベストプラクティス
- hex はサイズが 2 倍になります(1 バイトが 2 文字)。コンパクトに送るなら Base64、バイトを確認・比較するなら hex が向いています。
- 隠れた BOM やノーブレークスペースを探すには、テキストを UTF-8 でエンコードします。
efbbbfが BOM、c2a0がノーブレークスペースです。 - ハッシュ値(SHA-256、MD5)も hex です。デコードすると読めるテキストではなく生のバイト列になるので、ダウンロード を使ってください。
- 入力が純粋な連続した hex か確かめたいときは セパレーター (: および -) を許可 や 0x プレフィックスを許可 をオフにします。すると
0x48は 2 文字目でエラーになります。 - デコード時は大文字小文字を区別しません。
D0 9fとd0 9Fはどちらも同じ文字Пになります。