![]() |
ASCII (American Standard Code for Information Interchange, アスキー)とは、文字コードの一つである。
英語で使われる文字・記号や制御文字を7ビットで表したものである。
現在使われている様々な文字コードの基礎となっており、それらの文字コードでは0x00から0x7Fまでの文字はASCIIと互換性を持たせていることが多い。UTF-8に至っては、ASCII文字だけならASCIIと1ビットに至るまで完全に一致する。
制定された1963年にはまだCPUすら存在せず(4ビットプロセッサのIntel 4004の登場が1971年)、1ビットすら貴重だった。アルファベット大文字小文字+数字で62文字なので6ビットに収める文字コードも存在したとか。
その後データの扱いがバイト単位になってからも、通信で残りの1ビットを通信エラーのチェックにあてるようになり、7ビットのASCIIが生き残ることになった。
上記のため、海外から日本に日本語でメールする際など、7ビットデータしか通過できない欧米のインターネット回線で日本語のデータを送ると文字化けするという事態が頻発していた。
日本語がメールで送れないのはローマ字に置き換えて我慢できないこともないが、画像などのバイナリファイルは我慢して済む問題でもないということで、8ビットのデータをASCIIの7ビット範囲内に収めてメール送信を可能にするQuoted-printableやuuencodeなどの符号化方式が生み出された。そのうちBase64はデータ交換形式として、パーセントエンコーディングはURLのパス部分として、メール以外の場面でも広く使われている(メール以外ではPunycodeなど別の方式も生み出されている)。
ASCIIに含まれる文字は0x00から0x1Fと0x7Fが制御文字、0x20がスペース、0x21から0x7Eが文字・記号となっている。
制定が1963年と古いため、制御文字には電動機械式タイプライター(テレタイプ端末)や古いコンピュータが前提とされており、現在では使われていない文字が多い。
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
10 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
20 | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
30 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
40 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
50 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
60 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
70 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
※フォントの関係で、0x5C \ で円記号が表示されているかもしれないが、正しくは半角のバックスラッシュ \ である。他にも日本語以外のフォントが使用されている場合などで異なる文字が表示されている可能性がある。
数字は16進数で、横方向に0x01の位、縦方向に0x10の位が大きくなるように表している。例えば表の 'A' の文字であれば、0x40 + 0x01 = 0x41 = 65 が割り当てられている。
大文字と小文字は32だけ離れているので、大文字 ↔ 小文字はの変換は2進数で32の位のビットを反転すれば済むようになっている。ビット演算(ビットごとに論理演算する)だと排他的論理和を用いて、例えば 'A' = 100 0001(2) の場合は、 100 0001(2) xor 010 0000(2) = 110 0001(2) = 'a' と書ける。この方法だと大文字 → 小文字と小文字 → 大文字の変換を場合分けせずに統一した式で定義することができる。
上記以外の制御文字については編集者が飽きてしまったためこちらに詳しい解説があるので参照してほしい。
掲示板
急上昇ワード改
最終更新:2025/02/07(金) 05:00
最終更新:2025/02/07(金) 05:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。