ASCII表リファレンス
英語で入力する印字可能文字はすべて、7ビットASCII標準では32から126の数値に対応します。32未満と127には、LF、CR、ESC、DELなどの制御コードがあり、シリアルプロトコルのデバッグや改行修正では今でも重要です。このリファレンス表は、0から127までのすべてのコードポイントを、10進数、16進数、8進数、2進数、HTML実体参照の形式と並べて示します。
ASCII表の使い方
-
1
必要な文字の行を探す
文字、記号、code-point名で探します。制御コードは3文字のmnemonicで並んでいます。
-
2
必要なエンコーディングを横に読む
人間に読みやすいコードなら10進数、ソースコードなら16進数、プロトコル作業なら2進数、マークアップならHTML実体参照を使います。
-
3
任意のセルをコピー
hex dumpやbyte sequenceを渡され、それが何を表すか知る必要があるときに便利です。
ASCIIの3つの範囲
| 範囲 | 10進数 | 内容 |
|---|---|---|
| 制御 | 0-31, 127 | NUL、BEL、BS、HT、LF、VT、FF、CR、ESC、DEL ほか |
| 印字可能 | 32-126 | スペース、約物、数字、A-Z、a-z |
| 拡張(非ASCII) | 128+ | エンコーディングに依存。ASCIIは厳密には127で終わる |
今でも重要な制御コード
- 0x00 NUL - Cでの文字列終端、一部バイナリ形式でのpadding。
- 0x07 BEL - ターミナルベルを鳴らします。
- 0x08 BS - Backspace。
- 0x09 HT - Horizontal tab。
- 0x0A LF - Line feed、Unixのnewline。
- 0x0D CR - Carriage return。WindowsではLFと組み合わせてCRLFになります。
- 0x1B ESC - ターミナル色のANSI escape sequenceを開始します。
- 0x7F DEL - もともとは紙テープの穴を打ち抜くコード。現在はあまり使われません。
ASCII vs Unicode
Unicodeは最初の128コードポイントにASCIIの128文字をそのまま収録し、UTF-8もそれらをASCIIと同じバイトで表します。ただし、ASCIIがすべての文字コードに含まれるわけではありません。たとえばEBCDICでは、英字や数字に異なる値が割り当てられています。
よくある変換
- 10進数から16進数: 65(10進数) = 0x41 =
A - 16進数から2進数: 0x41 = 0100 0001
- 16進数からHTML実体参照:
AまたはAはいずれもAとして表示されます。
よくある質問
ASCIIは7-bitコードで、byteの8番目のbitをパリティや拡張用に残していたからです。128-255の値は“extended ASCII“の変種(Latin-1、Windows-1252、MacRomanなど)の領域です。互いに互換性がなく、それがUnicodeが勝った理由の一部です。
LF(0x0A)は1行下へ移動します。CR(0x0D)はカーソルを列0へ戻します。UnixのnewlineはLFだけ、古典的MacではCRだけ、WindowsとHTTPヘッダーではCRに続いてLF(CRLF)です。不一致は、システム間で二重改行や詰まった表示になる典型原因です。
ASCIIでは、大文字と小文字を区別する位置にビット0x20が来るよう配置されています。ただし、0x20とのXORが安全なのは、そのバイトがASCII英字だと確認した後だけです。任意のバイトへ無条件に適用すると、数字、句読点、制御値まで変化します。
はい。テキストファイルのLFとCR、ソースコードやターミナルのHTとFF、ANSI色シーケンスのESC、ターミナルベルやアラートのBELがあります。NULは今でもC文字列を終端します。残りの多くはテレタイプ時代のlegacyです。
関連ツール
バイナリからASCIIへの変換ツール
バイナリ(スペース区切りのバイト、または長いビット列)を貼り付けると、それが表すASCIIテキストを取得できます。7ビットと8ビットのエンコードに対応。
BinaryからHexへのコンバーター
バイナリ入力を大文字の16進数値に変換します。0と1以外は無視され、先頭の0は保持されません。
Base64 → Hex 変換ツール
Base64文字列を、その背後にあるバイトの16進表現へ変換します。トークン、鍵、証明書、JWTの確認に便利です。
ASCII 2進数変換ツール
任意のASCII文字列を2進数表現に変換します。各文字は8ビットになり、スペース区切りで出力されるため、プロトコルトレースや宿題にそのまま貼り付けられます。
BBCodeからHTMLへのコンバーター
BBCode(掲示板マークアップ)をきれいなHTMLへ変換します。装飾タグ、リスト、引用、コード、画像、リンク、表に対応。
2進数から10進数へ変換
2進数を瞬時に10進数へ変換します。各ビットがどのように寄与するかが分かる位取り展開を表示します。