テキスト→16進数変換ツールとは?
テキスト→16進数(Hex)変換ツールは、文字列の各文字をその数値コードポイントに置き換え、それを16進数(基数16)で表示するツールです。これはコンピューティングのあらゆる場面で使われる標準的なASCII→16進エンコードであり、ネットワークパケットの解析やバイナリファイルのデバッグから、カラーコードやエスケープシーケンス、低レベルのデータフォーマットの記述まで幅広く活用されています。1バイト(0〜255)がちょうど2桁の16進数に対応するため、出力はコンパクトで曖昧さがありません。
使い方
入力欄にテキストを入力または貼り付け、16進バイトの区切り方(なし・スペース・コロン・ハイフン)を選ぶだけで、結果が表示されます。「なし」を選ぶと連続した文字列になり、コードへのコピペに最適です。スペースやコロンを選べば、バイトごとに区切られて読みやすくなります。
計算の仕組み
各文字 c について、その数値コードポイントである ord(c) を求めます。一般的な英字・数字・記号は0〜127のASCII範囲に収まります。この数値を16進数に変換し、2桁になるようにゼロ埋めします(02x フォーマット)。そして、すべての2桁ブロックを連結し、その間に選択した区切り文字を挿入します。
$$\text{Hex} = \underset{c\,\in\,\text{Text}}{\Large\Vert}\; \text{pad}_2\!\left(\text{hex}\big(\text{code}(c)\big)\right)\;\bowtie\;\text{Separator}$$
具体例
たとえば Hi という単語を見てみましょう。文字「H」のコードは72で、これは\(\text{0x48}\)です。文字「i」のコードは105で、これは\(\text{0x69}\)です。したがって「Hi」は、区切りなしでは 4869、スペース区切りでは 48 69 となります。
ASCII から 16進数参照表
すべての印字可能な ASCII 文字は単一のバイトにマップされ、00 から FF までの 2 桁の 16 進数コードとして記述されます。16 進値は文字の 10 進 ASCII コードを 16 進法に変換したものに等しくなります。たとえば、文字 A の 10 進コードは 65 で、\(65 = 4 \times 16 + 1\) であるため、その 16 進コードは 41 となります。スペース区切り文字を使用して単語 Hi を変換すると、48 69 になります。
数字 0~9
| 文字 | 10 進数 | 16 進数 |
|---|---|---|
| 0 | 48 | 30 |
| 1 | 49 | 31 |
| 2 | 50 | 32 |
| 3 | 51 | 33 |
| 4 | 52 | 34 |
| 5 | 53 | 35 |
| 6 | 54 | 36 |
| 7 | 55 | 37 |
| 8 | 56 | 38 |
| 9 | 57 | 39 |
大文字 A~Z
| 文字 | 10 進数 | 16 進数 | 文字 | 10 進数 | 16 進数 |
|---|---|---|---|---|---|
| A | 65 | 41 | N | 78 | 4E |
| B | 66 | 42 | O | 79 | 4F |
| C | 67 | 43 | P | 80 | 50 |
| D | 68 | 44 | Q | 81 | 51 |
| E | 69 | 45 | R | 82 | 52 |
| F | 70 | 46 | S | 83 | 53 |
| G | 71 | 47 | T | 84 | 54 |
| H | 72 | 48 | U | 85 | 55 |
| I | 73 | 49 | V | 86 | 56 |
| J | 74 | 4A | W | 87 | 57 |
| K | 75 | 4B | X | 88 | 58 |
| L | 76 | 4C | Y | 89 | 59 |
| M | 77 | 4D | Z | 90 | 5A |
小文字 a~z
| 文字 | 10 進数 | 16 進数 | 文字 | 10 進数 | 16 進数 |
|---|---|---|---|---|---|
| a | 97 | 61 | n | 110 | 6E |
| b | 98 | 62 | o | 111 | 6F |
| c | 99 | 63 | p | 112 | 70 |
| d | 100 | 64 | q | 113 | 71 |
| e | 101 | 65 | r | 114 | 72 |
| f | 102 | 66 | s | 115 | 73 |
| g | 103 | 67 | t | 116 | 74 |
| h | 104 | 68 | u | 117 | 75 |
| i | 105 | 69 | v | 118 | 76 |
| j | 106 | 6A | w | 119 | 77 |
| k | 107 | 6B | x | 120 | 78 |
| l | 108 | 6C | y | 121 | 79 |
| m | 109 | 6D | z | 122 | 7A |
スペース&一般的な句読点
| 文字 | 名前 | 10 進数 | 16 進数 |
|---|---|---|---|
| (スペース) | スペース | 32 | 20 |
| ! | 感嘆符 | 33 | 21 |
| # | ナンバーサイン | 35 | 23 |
| ( | 左括弧 | 40 | 28 |
| ) | 右括弧 | 41 | 29 |
| , | コンマ | 44 | 2C |
| - | ハイフンマイナス | 45 | 2D |
| . | ピリオド | 46 | 2E |
| : | コロン | 58 | 3A |
| @ | アットサイン | 64 | 40 |
よくある質問
大文字と小文字は区別されますか? はい。大文字と小文字はそれぞれ異なるASCIIコードを持つため(A=\(\text{0x41}\)、a=\(\text{0x61}\))、16進出力も変わります。
絵文字やアクセント付き文字はどうなりますか? コード255を超える文字は1バイトより大きいコードポイントを使うため、1文字あたり2桁を超える16進数になる場合があります。本ツールは最低2桁になるようゼロ埋めします。
逆変換はできますか? はい。16進数を2桁ずつ読み取り、それぞれを数値に戻して対応する文字に対応づければ、16進数からテキストへデコードできます。