ASCIIコード表(全128文字)|10進数・16進数・2進数の完全対応表と制御文字の意味
ASCII(アスキー:American Standard Code for Information Interchange)は、英数字・記号・制御文字の128文字に0〜127の番号を割り当てた、最も基本的な文字コードです。UTF-8やShift-JISもASCIIの範囲はそのまま互換性を保っているため、プログラミング・通信・データ処理のあらゆる場面で今も使われています。この記事では全128文字を10進数・16進数・2進数で一覧にし、覚えておくと便利な規則性を解説します。
ASCIIコード表(0〜127)
左から「10進数・16進数・2進数・文字」の4列を1組として、0〜31/32〜63/64〜95/96〜127の4ブロックを横に並べています。
| 10進 | 16進 | 2進 | 文字 | 10進 | 16進 | 2進 | 文字 | 10進 | 16進 | 2進 | 文字 | 10進 | 16進 | 2進 | 文字 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00 | 00000000 | NUL | 32 | 20 | 00100000 | SP | 64 | 40 | 01000000 | @ | 96 | 60 | 01100000 | ` |
| 1 | 01 | 00000001 | SOH | 33 | 21 | 00100001 | ! | 65 | 41 | 01000001 | A | 97 | 61 | 01100001 | a |
| 2 | 02 | 00000010 | STX | 34 | 22 | 00100010 | " | 66 | 42 | 01000010 | B | 98 | 62 | 01100010 | b |
| 3 | 03 | 00000011 | ETX | 35 | 23 | 00100011 | # | 67 | 43 | 01000011 | C | 99 | 63 | 01100011 | c |
| 4 | 04 | 00000100 | EOT | 36 | 24 | 00100100 | $ | 68 | 44 | 01000100 | D | 100 | 64 | 01100100 | d |
| 5 | 05 | 00000101 | ENQ | 37 | 25 | 00100101 | % | 69 | 45 | 01000101 | E | 101 | 65 | 01100101 | e |
| 6 | 06 | 00000110 | ACK | 38 | 26 | 00100110 | & | 70 | 46 | 01000110 | F | 102 | 66 | 01100110 | f |
| 7 | 07 | 00000111 | BEL | 39 | 27 | 00100111 | ' | 71 | 47 | 01000111 | G | 103 | 67 | 01100111 | g |
| 8 | 08 | 00001000 | BS | 40 | 28 | 00101000 | ( | 72 | 48 | 01001000 | H | 104 | 68 | 01101000 | h |
| 9 | 09 | 00001001 | HT | 41 | 29 | 00101001 | ) | 73 | 49 | 01001001 | I | 105 | 69 | 01101001 | i |
| 10 | 0A | 00001010 | LF | 42 | 2A | 00101010 | * | 74 | 4A | 01001010 | J | 106 | 6A | 01101010 | j |
| 11 | 0B | 00001011 | VT | 43 | 2B | 00101011 | + | 75 | 4B | 01001011 | K | 107 | 6B | 01101011 | k |
| 12 | 0C | 00001100 | FF | 44 | 2C | 00101100 | , | 76 | 4C | 01001100 | L | 108 | 6C | 01101100 | l |
| 13 | 0D | 00001101 | CR | 45 | 2D | 00101101 | - | 77 | 4D | 01001101 | M | 109 | 6D | 01101101 | m |
| 14 | 0E | 00001110 | SO | 46 | 2E | 00101110 | . | 78 | 4E | 01001110 | N | 110 | 6E | 01101110 | n |
| 15 | 0F | 00001111 | SI | 47 | 2F | 00101111 | / | 79 | 4F | 01001111 | O | 111 | 6F | 01101111 | o |
| 16 | 10 | 00010000 | DLE | 48 | 30 | 00110000 | 0 | 80 | 50 | 01010000 | P | 112 | 70 | 01110000 | p |
| 17 | 11 | 00010001 | DC1 | 49 | 31 | 00110001 | 1 | 81 | 51 | 01010001 | Q | 113 | 71 | 01110001 | q |
| 18 | 12 | 00010010 | DC2 | 50 | 32 | 00110010 | 2 | 82 | 52 | 01010010 | R | 114 | 72 | 01110010 | r |
| 19 | 13 | 00010011 | DC3 | 51 | 33 | 00110011 | 3 | 83 | 53 | 01010011 | S | 115 | 73 | 01110011 | s |
| 20 | 14 | 00010100 | DC4 | 52 | 34 | 00110100 | 4 | 84 | 54 | 01010100 | T | 116 | 74 | 01110100 | t |
| 21 | 15 | 00010101 | NAK | 53 | 35 | 00110101 | 5 | 85 | 55 | 01010101 | U | 117 | 75 | 01110101 | u |
| 22 | 16 | 00010110 | SYN | 54 | 36 | 00110110 | 6 | 86 | 56 | 01010110 | V | 118 | 76 | 01110110 | v |
| 23 | 17 | 00010111 | ETB | 55 | 37 | 00110111 | 7 | 87 | 57 | 01010111 | W | 119 | 77 | 01110111 | w |
| 24 | 18 | 00011000 | CAN | 56 | 38 | 00111000 | 8 | 88 | 58 | 01011000 | X | 120 | 78 | 01111000 | x |
| 25 | 19 | 00011001 | EM | 57 | 39 | 00111001 | 9 | 89 | 59 | 01011001 | Y | 121 | 79 | 01111001 | y |
| 26 | 1A | 00011010 | SUB | 58 | 3A | 00111010 | : | 90 | 5A | 01011010 | Z | 122 | 7A | 01111010 | z |
| 27 | 1B | 00011011 | ESC | 59 | 3B | 00111011 | ; | 91 | 5B | 01011011 | [ | 123 | 7B | 01111011 | { |
| 28 | 1C | 00011100 | FS | 60 | 3C | 00111100 | < | 92 | 5C | 01011100 | \ | 124 | 7C | 01111100 | | |
| 29 | 1D | 00011101 | GS | 61 | 3D | 00111101 | = | 93 | 5D | 01011101 | ] | 125 | 7D | 01111101 | } |
| 30 | 1E | 00011110 | RS | 62 | 3E | 00111110 | > | 94 | 5E | 01011110 | ^ | 126 | 7E | 01111110 | ~ |
| 31 | 1F | 00011111 | US | 63 | 3F | 00111111 | ? | 95 | 5F | 01011111 | _ | 127 | 7F | 01111111 | DEL |
※SPはスペース(空白)、92の「\」は日本語環境では円記号「¥」として表示されることがあります。
10進数・16進数・2進数を自由に相互変換するなら
進数変換ツールを使ってみる →覚えておくと便利な3つの規則性
① 大文字と小文字の差は32
A(65)とa(97)のように、大文字と小文字は常に32(0x20)差です。2進数で見ると6ビット目(32の位)が0か1かの違いだけなので、プログラムではこのビットを反転させるだけで大文字・小文字を切り替えられます。
② 数字の文字は48から始まる
「0」は48(0x30)、「9」は57(0x39)です。文字コードから48を引けば数値になるため、'7' - '0' = 7 のような計算がC言語などでよく使われます。
③ 0〜31と127は「制御文字」
画面に表示されない、装置の制御や通信のための文字です。現在でも改行(LF・CR)、タブ(HT)、エスケープ(ESC)、NUL(文字列の終端)は日常的に使われています。
主な制御文字の意味
| 10進 | 16進 | 略称 | 名称・意味 |
|---|---|---|---|
| 0 | 00 | NUL | Null。C言語では文字列の終端を表す |
| 7 | 07 | BEL | Bell。端末でビープ音を鳴らす |
| 8 | 08 | BS | Backspace。1文字戻る |
| 9 | 09 | HT | Horizontal Tab。タブ(\t) |
| 10 | 0A | LF | Line Feed。改行(\n)。Mac・Linuxの改行コード |
| 13 | 0D | CR | Carriage Return。復帰(\r)。WindowsはCR+LFで改行 |
| 27 | 1B | ESC | Escape。端末の色指定などエスケープシーケンスの先頭 |
| 32 | 20 | SP | Space。空白(表示可能文字の最初) |
| 127 | 7F | DEL | Delete。削除 |
ASCIIと他の文字コードの関係
ASCIIは7ビット(0〜127)の規格で、日本語は含まれません。128〜255を使う「拡張ASCII」は規格ではなく、Latin-1やShift-JISの半角カナなど文字コードによって中身が異なります。一方、UTF-8は0〜127の範囲をASCIIと完全に同じにして設計されているため、英数字だけのファイルはASCIIでもUTF-8でも全く同じバイト列になります。日本語などの文字がどう符号化されるかは全角文字は何バイト?で解説しています。
URLエンコードとの関係:URLで使えない文字は「%」+ASCII/UTF-8の16進数で表します。スペースは%20、「&」は%26、「=」は%3D——この数字は上の表の16進数そのものです。
まとめ
ASCIIは0〜127の128文字を定めた文字コードの土台で、A=65、a=97、0=48、スペース=32、改行LF=10は特によく使います。大文字小文字は32差、数字は48始まり、0〜31は制御文字——この3つを押さえれば、文字コードに関する多くの疑問が解けます。任意の値の変換は進数変換、文字列全体のエンコードはURLエンコード・Base64の各ツールをご利用ください。