ASCII ⇄ 16進数変換ツール
ASCIIテキストと16進数コードを簡単に相互変換
変換履歴
ASCIIと16進数について
ASCIIコード(American Standard Code for Information Interchange)は、コンピュータで文字を表現するための標準的な文字コード体系です。各文字は0から127までの数値で表され、この数値を16進数で表現することで、よりコンパクトで読みやすい形式になります。
16進数とは
16進数(hexadecimal)は、0から9までの数字とAからFまでのアルファベットを使用する16を基数とする記数法です。プログラミングやデータ処理の分野で広く使用されており、2進数を簡潔に表現できるという利点があります。
変換の重要性
ASCIIコードと16進数の相互変換は、プログラミング、データ通信、デバッグ作業などで頻繁に必要となります。特にバイナリデータの解析や、通信プロトコルのデバッグ、ファイル形式の解析などで重要な役割を果たします。
変換方法と計算例
ASCII → 16進数の変換手順
1. 文字「A」のASCIIコードは10進数で65です
2. 65を16で割ると、商が4、余りが1です
3. 16進数では41と表されます
計算式: 65 ÷ 16 = 4 余り 1 → 0x41
1. 文字「a」のASCIIコードは10進数で97です
2. 97 ÷ 16 = 6 余り 1
3. 16進数では61と表されます
H (72) → 48
e (101) → 65
l (108) → 6C
l (108) → 6C
o (111) → 6F
結果: 48 65 6C 6C 6F
16進数 → ASCIIの変換手順
1. 16進数48を10進数に変換します
2. 4 × 16 + 8 = 64 + 8 = 72
3. ASCIIコード72は文字「H」に対応します
ASCII文字コード表
以下は、よく使用されるASCII文字とその16進数コードの対応表です。
| 文字 | 10進数 | 16進数 | 説明 |
|---|---|---|---|
| スペース | 32 | 20 | 空白文字 |
| ! | 33 | 21 | 感嘆符 |
| “ | 34 | 22 | 二重引用符 |
| # | 35 | 23 | 番号記号 |
| $ | 36 | 24 | ドル記号 |
| % | 37 | 25 | パーセント記号 |
| & | 38 | 26 | アンパサンド |
| ‘ | 39 | 27 | 単一引用符 |
| ( | 40 | 28 | 左括弧 |
| ) | 41 | 29 | 右括弧 |
| * | 42 | 2A | アスタリスク |
| + | 43 | 2B | プラス記号 |
| , | 44 | 2C | カンマ |
| – | 45 | 2D | ハイフン |
| . | 46 | 2E | ピリオド |
| / | 47 | 2F | スラッシュ |
| 0 | 48 | 30 | 数字0 |
| 1 | 49 | 31 | 数字1 |
| 2 | 50 | 32 | 数字2 |
| 3 | 51 | 33 | 数字3 |
| 4 | 52 | 34 | 数字4 |
| 5 | 53 | 35 | 数字5 |
| 6 | 54 | 36 | 数字6 |
| 7 | 55 | 37 | 数字7 |
| 8 | 56 | 38 | 数字8 |
| 9 | 57 | 39 | 数字9 |
| : | 58 | 3A | コロン |
| ; | 59 | 3B | セミコロン |
| < | 60 | 3C | 小なり記号 |
| = | 61 | 3D | 等号 |
| > | 62 | 3E | 大なり記号 |
| ? | 63 | 3F | 疑問符 |
| @ | 64 | 40 | アットマーク |
| A | 65 | 41 | 大文字A |
| B | 66 | 42 | 大文字B |
| C | 67 | 43 | 大文字C |
| D | 68 | 44 | 大文字D |
| E | 69 | 45 | 大文字E |
| F | 70 | 46 | 大文字F |
| G | 71 | 47 | 大文字G |
| H | 72 | 48 | 大文字H |
| I | 73 | 49 | 大文字I |
| J | 74 | 4A | 大文字J |
| K | 75 | 4B | 大文字K |
| L | 76 | 4C | 大文字L |
| M | 77 | 4D | 大文字M |
| N | 78 | 4E | 大文字N |
| O | 79 | 4F | 大文字O |
| P | 80 | 50 | 大文字P |
| Q | 81 | 51 | 大文字Q |
| R | 82 | 52 | 大文字R |
| S | 83 | 53 | 大文字S |
| T | 84 | 54 | 大文字T |
| U | 85 | 55 | 大文字U |
| V | 86 | 56 | 大文字V |
| W | 87 | 57 | 大文字W |
| X | 88 | 58 | 大文字X |
| Y | 89 | 59 | 大文字Y |
| Z | 90 | 5A | 大文字Z |
| [ | 91 | 5B | 左角括弧 |
| \ | 92 | 5C | バックスラッシュ |
| ] | 93 | 5D | 右角括弧 |
| ^ | 94 | 5E | キャレット |
| _ | 95 | 5F | アンダースコア |
| ` | 96 | 60 | バッククォート |
| a | 97 | 61 | 小文字a |
| b | 98 | 62 | 小文字b |
| c | 99 | 63 | 小文字c |
| d | 100 | 64 | 小文字d |
| e | 101 | 65 | 小文字e |
| f | 102 | 66 | 小文字f |
| g | 103 | 67 | 小文字g |
| h | 104 | 68 | 小文字h |
| i | 105 | 69 | 小文字i |
| j | 106 | 6A | 小文字j |
| k | 107 | 6B | 小文字k |
| l | 108 | 6C | 小文字l |
| m | 109 | 6D | 小文字m |
| n | 110 | 6E | 小文字n |
| o | 111 | 6F | 小文字o |
| p | 112 | 70 | 小文字p |
| q | 113 | 71 | 小文字q |
| r | 114 | 72 | 小文字r |
| s | 115 | 73 | 小文字s |
| t | 116 | 74 | 小文字t |
| u | 117 | 75 | 小文字u |
| v | 118 | 76 | 小文字v |
| w | 119 | 77 | 小文字w |
| x | 120 | 78 | 小文字x |
| y | 121 | 79 | 小文字y |
| z | 122 | 7A | 小文字z |
| { | 123 | 7B | 左波括弧 |
| | | 124 | 7C | 縦棒 |
| } | 125 | 7D | 右波括弧 |
| ~ | 126 | 7E | チルダ |
よく使われる変換例
30-39 (16進数)
41-5A (16進数)
61-7A (16進数)
20 (16進数)
0A (16進数)
0D (16進数)
09 (16進数)
00 (16進数)
制御文字一覧
ASCII制御文字(0-31および127)は、表示されない特殊な文字で、データ通信や文書の書式制御に使用されます。
| 16進数 | 10進数 | 略称 | 名称 | 説明 |
|---|---|---|---|---|
| 00 | 0 | NUL | Null | 空文字 |
| 01 | 1 | SOH | Start of Heading | ヘッダ開始 |
| 02 | 2 | STX | Start of Text | テキスト開始 |
| 03 | 3 | ETX | End of Text | テキスト終了 |
| 04 | 4 | EOT | End of Transmission | 転送終了 |
| 05 | 5 | ENQ | Enquiry | 照会 |
| 06 | 6 | ACK | Acknowledge | 肯定応答 |
| 07 | 7 | BEL | Bell | 警告音 |
| 08 | 8 | BS | Backspace | 後退 |
| 09 | 9 | HT | Horizontal Tab | 水平タブ |
| 0A | 10 | LF | Line Feed | 改行 |
| 0B | 11 | VT | Vertical Tab | 垂直タブ |
| 0C | 12 | FF | Form Feed | 改ページ |
| 0D | 13 | CR | Carriage Return | 復帰 |
| 0E | 14 | SO | Shift Out | シフトアウト |
| 0F | 15 | SI | Shift In | シフトイン |
| 1B | 27 | ESC | Escape | エスケープ |
| 7F | 127 | DEL | Delete | 削除 |
よくある質問 (FAQ)
実用的な応用例
プログラミングでの利用
ASCIIと16進数の変換は、プログラミングの様々な場面で必要となります。例えば、文字列をバイト配列として扱う場合や、通信プロトコルで特定のバイトパターンを送信する際に使用します。
データ通信とプロトコル
シリアル通信やネットワークプロトコルでは、制御コードを16進数で指定することが一般的です。例えば、改行コードのCRLFは「0D 0A」と表現されます。
ファイル解析とバイナリ編集
バイナリファイルを解析する際、ファイルの内容を16進数で表示し、特定のパターンを探したり、ASCIIテキストとして解釈できる部分を見つけたりします。
セキュリティと暗号化
暗号化されたデータや、ハッシュ値は通常16進数で表現されます。また、SQLインジェクションなどの攻撃を解析する際にも、16進数表現が役立ちます。
ハードウェア制御
マイコンやセンサーとの通信では、コマンドを16進数のバイト列として送信することが多く、正確な変換が必要です。
16進数の基礎知識
16進数の桁と対応
16進数は0-9とA-F(10-15)の16種類の記号を使用します。各桁は16の累乗を表します。
右から順に: 160 = 1, 161 = 16, 162 = 256, 163 = 4096
例: 16進数の「2A3」= 2×256 + 10×16 + 3×1 = 512 + 160 + 3 = 675(10進数)
16進数と2進数の関係
1桁の16進数は、ちょうど4桁の2進数に対応します。この対応関係により、長い2進数を効率的に表現できます。
| 16進数 | 10進数 | 2進数 |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| B | 11 | 1011 |
| C | 12 | 1100 |
| D | 13 | 1101 |
| E | 14 | 1110 |
| F | 15 | 1111 |
使用上の注意点
- このツールは標準ASCIIコード(0-127)を主な対象としています。拡張文字セットやUnicodeについては、専用のツールを使用することをお勧めします。
- 16進数からASCIIへの変換では、入力形式(スペース区切り、0xプレフィックス、連続)に注意してください。
- 制御文字(0-31、127)は画面に表示されない特殊な文字です。変換結果に含まれる場合、表示が正しく行われないことがあります。
- 大文字と小文字の16進数(例:「A」と「a」)は同じ値を表しますが、変換対象のASCII文字としての「A」と「a」は異なるコードを持ちます。
- 変換履歴はブラウザのセッション内でのみ保持され、ページを閉じると削除されます。
- 大量のテキストを変換する場合、ブラウザのパフォーマンスに影響を与える可能性があります。
参考資料
ASCIIコードと16進数変換に関する詳細情報については、以下の資料を参照してください。
- ANSI INCITS 4-1986 (R2012) – American National Standard for Information Systems – Coded Character Sets – 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)
- ISO/IEC 646:1991 – Information technology — ISO 7-bit coded character set for information interchange
- RFC 20 – ASCII format for network interchange (1969)
- Unicode Standard Annex 44 – Unicode Character Database
