ASCIIコード表|10進・16進・8進・文字 対応早見表
ASCIIコード0〜127の全128文字を10進・16進・8進・文字の対応で一覧表示。印字可能文字95文字(32〜126)と制御文字33文字(0〜31・127)を網羅し、A=65(0x41)・a=97(0x61)・0=48(0x30)などの頻出値、大文字小文字変換のビット計算、改行コード(CR/LF)やURLエンコードとの関係まで、プログラミング・デバッグの現場で必要な情報をまとめています。
📌 最頻出のASCIIコード
| 文字 | 10進 | 16進 | メモ |
|---|---|---|---|
| A | 65 | 0x41 | 英大文字の起点(Z=90) |
| a | 97 | 0x61 | A+32(z=122) |
| 0 | 48 | 0x30 | 数字の起点(9=57) |
| スペース | 32 | 0x20 | URLエンコードでは %20 |
| LF(改行) | 10 | 0x0A | \n。Unix/Linux/macOSの改行 |
| CR(復帰) | 13 | 0x0D | \r。WindowsはCR+LFで改行 |
| タブ | 9 | 0x09 | \t |
| NUL | 0 | 0x00 | \0。C言語の文字列終端 |
※ オレンジ網掛けは特に頻出。全128文字の対応は下の表で確認できます。
このページについて
ASCII(American Standard Code for Information Interchange)は、英数字・記号・制御文字に0〜127の番号を割り当てた7ビットの文字コードです。本ページではANSI X3.4・ISO/IEC 646に基づき、全128文字の10進・16進・8進・文字の対応を掲載しています。
「'A'って何番だっけ?」「バイナリダンプの0x0Aは何?」「%2Fはどの文字?」といった、プログラミング・デバッグ・プロトコル解析・URLエンコード解読で頻発する疑問に即答できる構成にしました。
印字可能文字(32〜126)の対応表
入力した文字列で下の表の行を絞り込めます(10進・16進・文字・説明のいずれでも可)。空欄に戻すと全行表示されます。
| 10進 | 16進 | 8進 | 文字 | 説明 |
|---|---|---|---|---|
| 32 | 0x20 | 040 | (スペース) | スペース(空白)。URLエンコードでは %20 |
| 33 | 0x21 | 041 | ! | 感嘆符(エクスクラメーションマーク) |
| 34 | 0x22 | 042 | " | 二重引用符(ダブルクォート) |
| 35 | 0x23 | 043 | # | 番号記号(ハッシュ・シャープ) |
| 36 | 0x24 | 044 | $ | ドル記号 |
| 37 | 0x25 | 045 | % | パーセント記号 |
| 38 | 0x26 | 046 | & | アンパサンド |
| 39 | 0x27 | 047 | ' | アポストロフィ(シングルクォート) |
| 40 | 0x28 | 050 | ( | 左丸括弧 |
| 41 | 0x29 | 051 | ) | 右丸括弧 |
| 42 | 0x2A | 052 | * | アスタリスク |
| 43 | 0x2B | 053 | + | プラス記号 |
| 44 | 0x2C | 054 | , | コンマ |
| 45 | 0x2D | 055 | - | ハイフン・マイナス |
| 46 | 0x2E | 056 | . | ピリオド(ドット) |
| 47 | 0x2F | 057 | / | スラッシュ。URLエンコードでは %2F |
| 48 | 0x30 | 060 | 0 | 数字の起点('0'=48) |
| 49 | 0x31 | 061 | 1 | 数字 |
| 50 | 0x32 | 062 | 2 | 数字 |
| 51 | 0x33 | 063 | 3 | 数字 |
| 52 | 0x34 | 064 | 4 | 数字 |
| 53 | 0x35 | 065 | 5 | 数字 |
| 54 | 0x36 | 066 | 6 | 数字 |
| 55 | 0x37 | 067 | 7 | 数字 |
| 56 | 0x38 | 070 | 8 | 数字 |
| 57 | 0x39 | 071 | 9 | 数字の終わり('9'=57) |
| 58 | 0x3A | 072 | : | コロン |
| 59 | 0x3B | 073 | ; | セミコロン |
| 60 | 0x3C | 074 | < | 小なり記号(左山括弧) |
| 61 | 0x3D | 075 | = | 等号(イコール) |
| 62 | 0x3E | 076 | > | 大なり記号(右山括弧) |
| 63 | 0x3F | 077 | ? | 疑問符。URLエンコードでは %3F |
| 64 | 0x40 | 100 | @ | アットマーク。URLエンコードでは %40 |
| 65 | 0x41 | 101 | A | 英大文字の起点('A'=65) |
| 66 | 0x42 | 102 | B | 英大文字 |
| 67 | 0x43 | 103 | C | 英大文字 |
| 68 | 0x44 | 104 | D | 英大文字 |
| 69 | 0x45 | 105 | E | 英大文字 |
| 70 | 0x46 | 106 | F | 英大文字 |
| 71 | 0x47 | 107 | G | 英大文字 |
| 72 | 0x48 | 110 | H | 英大文字 |
| 73 | 0x49 | 111 | I | 英大文字 |
| 74 | 0x4A | 112 | J | 英大文字 |
| 75 | 0x4B | 113 | K | 英大文字 |
| 76 | 0x4C | 114 | L | 英大文字 |
| 77 | 0x4D | 115 | M | 英大文字 |
| 78 | 0x4E | 116 | N | 英大文字 |
| 79 | 0x4F | 117 | O | 英大文字 |
| 80 | 0x50 | 120 | P | 英大文字 |
| 81 | 0x51 | 121 | Q | 英大文字 |
| 82 | 0x52 | 122 | R | 英大文字 |
| 83 | 0x53 | 123 | S | 英大文字 |
| 84 | 0x54 | 124 | T | 英大文字 |
| 85 | 0x55 | 125 | U | 英大文字 |
| 86 | 0x56 | 126 | V | 英大文字 |
| 87 | 0x57 | 127 | W | 英大文字 |
| 88 | 0x58 | 130 | X | 英大文字 |
| 89 | 0x59 | 131 | Y | 英大文字 |
| 90 | 0x5A | 132 | Z | 英大文字の終わり('Z'=90) |
| 91 | 0x5B | 133 | [ | 左角括弧 |
| 92 | 0x5C | 134 | \ | バックスラッシュ(JIS X 0201環境では¥表示) |
| 93 | 0x5D | 135 | ] | 右角括弧 |
| 94 | 0x5E | 136 | ^ | サーカムフレックス(ハット) |
| 95 | 0x5F | 137 | _ | アンダースコア |
| 96 | 0x60 | 140 | ` | バッククォート(グレイヴ) |
| 97 | 0x61 | 141 | a | 英小文字の起点('a'=97) |
| 98 | 0x62 | 142 | b | 英小文字 |
| 99 | 0x63 | 143 | c | 英小文字 |
| 100 | 0x64 | 144 | d | 英小文字 |
| 101 | 0x65 | 145 | e | 英小文字 |
| 102 | 0x66 | 146 | f | 英小文字 |
| 103 | 0x67 | 147 | g | 英小文字 |
| 104 | 0x68 | 150 | h | 英小文字 |
| 105 | 0x69 | 151 | i | 英小文字 |
| 106 | 0x6A | 152 | j | 英小文字 |
| 107 | 0x6B | 153 | k | 英小文字 |
| 108 | 0x6C | 154 | l | 英小文字 |
| 109 | 0x6D | 155 | m | 英小文字 |
| 110 | 0x6E | 156 | n | 英小文字 |
| 111 | 0x6F | 157 | o | 英小文字 |
| 112 | 0x70 | 160 | p | 英小文字 |
| 113 | 0x71 | 161 | q | 英小文字 |
| 114 | 0x72 | 162 | r | 英小文字 |
| 115 | 0x73 | 163 | s | 英小文字 |
| 116 | 0x74 | 164 | t | 英小文字 |
| 117 | 0x75 | 165 | u | 英小文字 |
| 118 | 0x76 | 166 | v | 英小文字 |
| 119 | 0x77 | 167 | w | 英小文字 |
| 120 | 0x78 | 170 | x | 英小文字 |
| 121 | 0x79 | 171 | y | 英小文字 |
| 122 | 0x7A | 172 | z | 英小文字の終わり('z'=122) |
| 123 | 0x7B | 173 | { | 左波括弧 |
| 124 | 0x7C | 174 | | | 縦線(パイプ) |
| 125 | 0x7D | 175 | } | 右波括弧 |
| 126 | 0x7E | 176 | ~ | チルダ(JIS X 0201ではオーバーライン) |
※ オレンジ網掛けはスペース(32)・数字の起点(48)・英大文字の起点(65)・英小文字の起点(97)。
制御文字(0〜31・127)の一覧
0〜31と127は画面に表示されない制御文字です。電信・テレタイプ時代の伝送制御に由来し、多くは現在使われませんが、NUL(0)・TAB(9)・LF(10)・CR(13)・ESC(27)は今も現役です。
| 10進 | 16進 | 略号 | 名称 | 意味・現代での使われ方 |
|---|---|---|---|---|
| 0 | 0x00 | NUL | Null | 空文字。C言語の文字列終端 \0 |
| 1 | 0x01 | SOH | Start of Heading | ヘッダ開始。伝送制御用で現在ほぼ未使用 |
| 2 | 0x02 | STX | Start of Text | テキスト開始。一部のシリアル通信の電文開始符号 |
| 3 | 0x03 | ETX | End of Text | テキスト終了。端末のCtrl+C(割り込み)に対応 |
| 4 | 0x04 | EOT | End of Transmission | 伝送終了。端末のCtrl+D(入力終了)に対応 |
| 5 | 0x05 | ENQ | Enquiry | 照会。相手局への応答要求。現在ほぼ未使用 |
| 6 | 0x06 | ACK | Acknowledge | 肯定応答。通信プロトコルの受領通知に由来 |
| 7 | 0x07 | BEL | Bell | ベル。端末で警告音を鳴らす \a |
| 8 | 0x08 | BS | Backspace | 後退。カーソルを1文字戻す \b |
| 9 | 0x09 | HT | Horizontal Tab | 水平タブ \t。インデント・TSVの区切りに現役 |
| 10 | 0x0A | LF | Line Feed | 改行 \n。Unix/Linux/macOSの改行コードとして現役 |
| 11 | 0x0B | VT | Vertical Tab | 垂直タブ \v。現在ほぼ未使用 |
| 12 | 0x0C | FF | Form Feed | 改ページ \f。プリンタ制御に由来 |
| 13 | 0x0D | CR | Carriage Return | 復帰 \r。WindowsはCR+LFで改行。現役 |
| 14 | 0x0E | SO | Shift Out | シフトアウト。別の文字集合への切替 |
| 15 | 0x0F | SI | Shift In | シフトイン。標準の文字集合へ戻す |
| 16 | 0x10 | DLE | Data Link Escape | 伝送制御拡張。現在ほぼ未使用 |
| 17 | 0x11 | DC1 | Device Control 1 | 装置制御1。XON(送信再開)としてフロー制御に使用 |
| 18 | 0x12 | DC2 | Device Control 2 | 装置制御2。現在ほぼ未使用 |
| 19 | 0x13 | DC3 | Device Control 3 | 装置制御3。XOFF(送信停止)としてフロー制御に使用 |
| 20 | 0x14 | DC4 | Device Control 4 | 装置制御4。現在ほぼ未使用 |
| 21 | 0x15 | NAK | Negative Acknowledge | 否定応答。再送要求に由来 |
| 22 | 0x16 | SYN | Synchronous Idle | 同期信号。現在ほぼ未使用 |
| 23 | 0x17 | ETB | End of Transmission Block | 伝送ブロック終了。現在ほぼ未使用 |
| 24 | 0x18 | CAN | Cancel | 取消。直前のデータの無効化 |
| 25 | 0x19 | EM | End of Medium | 媒体終端。紙テープ時代の名残 |
| 26 | 0x1A | SUB | Substitute | 置換。旧MS-DOSではファイル終端(Ctrl+Z)として使用 |
| 27 | 0x1B | ESC | Escape | エスケープ。ANSIエスケープシーケンス(端末の色付け等)の起点として現役 |
| 28 | 0x1C | FS | File Separator | ファイル区切り。データ区切り用 |
| 29 | 0x1D | GS | Group Separator | グループ区切り。バーコード(GS1)のデータ区切りで使用 |
| 30 | 0x1E | RS | Record Separator | レコード区切り。データ区切り用 |
| 31 | 0x1F | US | Unit Separator | ユニット区切り。データ区切り用 |
| 127 | 0x7F | DEL | Delete | 削除。紙テープの穴を全て開けて抹消した名残。印字可能域の外 |
※ オレンジ網掛けは現在も日常的に登場する制御文字。
よく使う値の暗記ポイント
- '0' = 48(0x30) — 数字は 0x30+n の並び。下位4ビットがそのまま数値なので、数字文字−48 で数値に変換できる
- 'A' = 65(0x41)、'Z' = 90(0x5A) — 英大文字は0x41から26文字連続
- 'a' = 97(0x61)、'z' = 122(0x7A) — 英小文字は大文字+32
- スペース = 32(0x20) — 印字可能文字の先頭。これより小さい値は制御文字
- LF = 10(0x0A)、CR = 13(0x0D)、TAB = 9(0x09) — テキスト処理3点セット
- DEL = 127(0x7F) — ASCIIの最終番号。これも制御文字
「48・65・97」の3つの起点さえ覚えれば、英数字のコードはすべて足し算で導けます。
大文字・小文字変換とビットの関係(0x20)
'A'(0x41)は2進数で 0100 0001、'a'(0x61)は 0110 0001。違いは0x20(=32)の1ビットだけです。ASCIIは大文字と小文字がちょうど32差になるよう意図的に配置されており、ビット演算だけで変換できます。
- 小文字化:
c | 0x20— 0x20のビットを立てる('A'→'a') - 大文字化:
c & 0xDF— 0x20のビットを落とす('a'→'A')
この計算は英字A〜Z/a〜zにのみ有効です。記号に適用すると別の文字になります(例: '@'(0x40)に0x20を立てると '`'(0x60))。大文字小文字を無視した比較を高速化する古典的テクニックとして、今もライブラリの内部実装で使われています。
文字コードの実務(改行コード・URLエンコード)
改行コードの違い
| 表記 | バイト | 環境 |
|---|---|---|
| LF(\n) | 10(0x0A) | Unix / Linux / macOS |
| CR+LF(\r\n) | 13+10(0x0D 0x0A) | Windows / HTTPヘッダ / 多くの通信プロトコル |
| CR(\r) | 13(0x0D) | 旧Mac OS(9以前) |
改行コードの混在は「シェルスクリプトが動かない」「Gitで全行差分になる」といったトラブルの定番原因です。エディタや .gitattributes で統一しましょう。
URLエンコードとの関係
URLエンコード(パーセントエンコーディング)の %XX は、そのバイト値の16進表記です。つまりこの表の16進の列がそのまま読めます: スペース=%20、#=%23、&=%26、/=%2F、==%3D、?=%3F、@=%40。日本語などASCII外の文字は、UTF-8のバイト列が1バイトずつ%XXになります(「あ」→ %E3%81%82)。
使い方・選び方のポイント
使用場面
文字⇔数値変換のデバッグ、バイナリダンプ・パケットキャプチャの読解、URLエンコードの解読、シリアル通信・プロトコル解析、正規表現の文字範囲指定([A-Za-z0-9]の根拠確認)に使います。
よくある間違い
①文字の'0'(コード48)と数値の0の混同 ②LF(10)とCR(13)の取り違え・改行コード混在 ③ASCII(7ビット・128文字)とLatin-1やShift_JISなど8ビットコードの混同 ④全角英数字(ABC)はASCIIではなく別コードである点、に注意します。
表の読み方のコツ
①16進が0x20〜0x7Eなら印字可能文字、0x00〜0x1Fと0x7Fは制御文字 ②数字は0x30台、大文字は0x41から、小文字は0x61から ③大文字と小文字は0x20(32)差、の3点を押さえると16進ダンプがそのまま読めるようになります。
よくある質問
Q1. 「A」のASCIIコードは何番ですか?
A. 大文字Aは10進65(16進0x41)です。B=66、C=67…と順に続き、Z=90(0x5A)。小文字aは97(0x61)で、大文字に32を足すと小文字になります。
Q2. 数字の「0」の文字コードは?
A. 文字「0」は10進48(16進0x30)です。「9」は57(0x39)。数字文字を数値に変換するときは文字コードから48(『0』のコード)を引きます。文字の0と数値の0は別物という点がプログラミング初心者のつまずきどころです。
Q3. \n と \r の違いは?
A. \nはLF(ラインフィード、10進10)、\rはCR(キャリッジリターン、10進13)です。Unix/Linux/macOSの改行はLFのみ、WindowsはCR+LF(13と10の2バイト)を使います。改行コードの不一致はGitの差分やシェルスクリプトの実行エラーの定番原因です。
Q4. ASCIIは全部で何文字ありますか?
A. 0〜127の128文字です。7ビットで表現でき、うち32〜126の95文字が印字可能文字(画面に表示される文字)、0〜31と127の33文字が制御文字です。
Q5. 大文字と小文字を変換する計算方法は?
A. 大文字に32を足すと小文字、小文字から32を引くと大文字になります。2進数では0x20の1ビットだけが違うため、c | 0x20 で小文字化、c & 0xDF で大文字化できます(英字A〜Z/a〜zのみに有効)。
Q6. ASCIIとUTF-8の関係は?
A. UTF-8はASCIIの上位互換です。0〜127の範囲はUTF-8でもASCIIと完全に同じ1バイトで表現されるため、英数字だけのテキストはASCIIとしてもUTF-8としても正しく読めます。
Q7. 半角カタカナはASCIIに含まれますか?
A. 含まれません。ASCIIは0〜127のみです。半角カナは日本の規格JIS X 0201が8ビット目を使って0xA1〜0xDFに追加した拡張で、ASCIIの範囲外です。
Q8. URLの「%20」とASCIIの関係は?
A. URLエンコード(パーセントエンコーディング)の%の後ろの2桁は、その文字のバイト値の16進表記です。%20はASCIIの0x20=スペース、%2Fはスラッシュ(/)、%3Fは疑問符(?)を表します。
ASCIIの原理と背景
ASCIIは1963年に米国規格協会(ASA、後のANSI)が制定した7ビットの文字コードで、規格番号はANSI X3.4。電信・テレタイプの時代に生まれたため、0〜31には文字ではなく機器を制御するための符号(改行・ベル・伝送制御など)が割り当てられています。1967年の改訂で小文字が加わり、ほぼ現在の形になりました。
文字の並びは計算のしやすさを考えて設計されています。数字0〜9(48〜57)は下位4ビットがそのまま数値になるよう0x30台に配置され、大文字と小文字はちょうど32(0x20)差で対応します。国際版としてISO/IEC 646が制定され、日本ではそのローマ字版がJIS X 0201です。ただしJIS X 0201では0x5Cが円記号(¥)、0x7Eがオーバーラインに置き換えられており、日本語環境でバックスラッシュが円記号として表示される現象はこの歴史に由来します。
現在主流のUnicode/UTF-8も、0〜127はASCIIと完全に同じ値・同じ1バイト表現を維持しています。半世紀以上前の設計が、URL・プログラミング言語・通信プロトコルなどあらゆる場面で今も現役の土台であり続けています。
関連する早見表
- HTTPステータスコード早見表 — Web開発・API設計
- Linuxコマンド早見表 — od/xxd/nkfで文字コード確認
- 正規表現早見表 — [A-Za-z0-9]等の文字範囲指定
- データ容量換算早見表 — ビット・バイトの換算
- MIMEタイプ早見表 — Content-Typeと文字セット指定
関連規格・出典
- ANSI X3.4「Coded Character Set - 7-bit American National Standard Code for Information Interchange」 — ASCIIの原規格(1963年制定・1967年改訂)
- ISO/IEC 646 — ASCIIを基にした7ビット符号の国際規格
- JIS X 0201「7ビット及び8ビットの情報交換用符号化文字集合」 — 日本産業規格(参考)
最終更新: 2026-07-02