ASCII
テンプレート:特殊文字 ASCII(アスキー、テンプレート:Lang-en-short)は、現代英語や西ヨーロッパ言語で使われるラテン文字を中心とした文字コード。これはコンピュータその他の通信機器において最もよく使われているものである。
概要
ASCIIは、7桁の2進数で表すことのできる整数の数値のそれぞれに、大小のラテン文字や数字、英文でよく使われる約物などを割り当てた文字コードである。1963年6月17日に、American Standards Association(ASA、後のANSI)によって制定された。当時の規格番号は ASA X3.4 、現在の規格番号は ANSI INCITS 4 である。
ASCIIはISO標準7ビット文字コードISO/IEC 646の元となり、後に8ビット文字コードであるISO/IEC 8859が主流となって以降、世界中で使用されている様々な文字の符号化方式の多くは、ASCIIで使用されていない128番以降の部分に、その他の文字を割り当てたものである。
他の文字コードと同じく、ASCIIは整数で表されるデジタルデータと文字集合とが対応づけられたコードである。このコードに従い、文字等を整数に変換する事で、通信、文字情報の処理や保存を行うのが容易になる。ASCIIやASCII互換コードは、ほとんど全てのコンピュータ(特にパーソナルコンピュータやワークステーション)で扱う事が出来る。MIMEでは、「US-ASCII
」とするのが望ましい。
ASCIIは7ビットコードである。つまり、情報を表すのに7桁の2進数(10進数では0〜127)を用いる。ASCIIが規格化された頃ですら、ほとんどのコンピュータの扱う最少単位のバイトは8ビットであるオクテットであった。そのため8ビット目は通信におけるエラーチェック用のパリティビットとして用いられていた。21世紀初頭においても、互換性を維持する目的で、7ビットコードが正式で、8ビット目は使用できない規格がいくつか存在する。
ASCIIはテキストの構造や見た目に関する情報は持たない。そのような情報はマークアップ言語などを使用する事で補うことが出来る。
ASCIIの構成は次のようになっている。
コード範囲(16進) | 内容 |
---|---|
00-1F | 制御文字 |
20 | 空白 |
21-7E | 図形文字 |
7F | 制御文字(DEL) |
ASCII制御文字
初めの32文字(10進数で0-31)はASCIIでは制御文字として予約されている。基本的にはこれらの制御文字は表示するための文字ではなく、モニタやプリンタなどの機器を制御するために用いられる。例えば、ASCII 10(10進)は line feed(改行)を表し(プリンタの紙送りなどに用いる)、ASCII 27 はエスケープを表す。
ASCII 127(全てのビットがオン、つまり、2進数で1111111)は、delete として知られる制御文字である。この記号が現れた場合、その部分のデータが消去されていることを示す。この制御文字だけ先頭部分になく最後にある理由は、パンチテープへの記録は上書きが出来ないため、削除する際には全てに穴を空けることで対応できるというところからきている(1111111は全てに穴の開いた状態を示す)。また、ASCII 0(全てのビットがオフ、つまり2進数で0000000)は Null あるいは空文字と呼ばれ、delete と同様に多くのコンピュータシステムでは無視される。これは、仮にパンチテープと反対に1を0に変えることでデータを記録し、かつ上書きが不可能な媒体が存在する場合でも対応できるようにしているのである。
コードの多くは、データ転送プロトコルで用いられる。(例:ヘッディング開始、テキスト開始、テキスト終了など。)
セパレータは磁気テープへの保存のために設計された。
XON や XOFF は、プリンタのような処理の遅いデバイスにおいて、データを失うことがないように情報の流れを制御するために用いる事がある。
2進 | 8進 | 10進 | 16進 | 略語 | 図形表現 | CS | エスケープシーケンス | 名前/意味 |
---|---|---|---|---|---|---|---|---|
000 0000 | 000 | 0 | 00 | NUL | ␀ | ^@ | \0 | Null文字 |
000 0001 | 001 | 1 | 01 | SOH | ␁ | ^A | ヘッディング開始 | |
000 0010 | 002 | 2 | 02 | STX | ␂ | ^B | テキスト開始 | |
000 0011 | 003 | 3 | 03 | ETX | ␃ | ^C | テキスト終了 | |
000 0100 | 004 | 4 | 04 | EOT | ␄ | ^D | 伝送終了 | |
000 0101 | 005 | 5 | 05 | ENQ | ␅ | ^E | 問合せ | |
000 0110 | 006 | 6 | 06 | ACK | ␆ | ^F | 肯定応答 | |
000 0111 | 007 | 7 | 07 | BEL | ␇ | ^G | \a | ベル |
000 1000 | 010 | 8 | 08 | BS | ␈ | ^H | \b | 後退 |
000 1001 | 011 | 9 | 09 | HT | ␉ | ^I | \t | 水平タブ |
000 1010 | 012 | 10 | 0A | LF | ␊ | ^J | \n | 改行 |
000 1011 | 013 | 11 | 0B | VT | ␋ | ^K | \v | 垂直タブ |
000 1100 | 014 | 12 | 0C | FF | ␌ | ^L | \f | 書式送り |
000 1101 | 015 | 13 | 0D | CR | ␍ | ^M | \r | 復帰 |
000 1110 | 016 | 14 | 0E | SO | ␎ | ^N | シフトアウト | |
000 1111 | 017 | 15 | 0F | SI | ␏ | ^O | シフトイン | |
001 0000 | 020 | 16 | 10 | DLE | ␐ | ^P | 伝送制御拡張 | |
001 0001 | 021 | 17 | 11 | DC1 | ␑ | ^Q | 装置制御1,XON | |
001 0010 | 022 | 18 | 12 | DC2 | ␒ | ^R | 装置制御2 | |
001 0011 | 023 | 19 | 13 | DC3 | ␓ | ^S | 装置制御3,XOFF | |
001 0100 | 024 | 20 | 14 | DC4 | ␔ | ^T | 装置制御4 | |
001 0101 | 025 | 21 | 15 | NAK | ␕ | ^U | 否定応答 | |
001 0110 | 026 | 22 | 16 | SYN | ␖ | ^V | 同期信号 | |
001 0111 | 027 | 23 | 17 | ETB | ␗ | ^W | 伝送ブロック終結 | |
001 1000 | 030 | 24 | 18 | CAN | ␘ | ^X | 取消 | |
001 1001 | 031 | 25 | 19 | EM | ␙ | ^Y | 媒体終端 | |
001 1010 | 032 | 26 | 1A | SUB | ␚ | ^Z | 置換 | |
001 1011 | 033 | 27 | 1B | ESC | ␛ | ^[ | \e | エスケープ |
001 1100 | 034 | 28 | 1C | FS | ␜ | ^\ | ファイル分離標識 | |
001 1101 | 035 | 29 | 1D | GS | ␝ | ^] | グループ分離標識 | |
001 1110 | 036 | 30 | 1E | RS | ␞ | ^^ | レコード分離標識 | |
001 1111 | 037 | 31 | 1F | US | ␟ | ^_ | ユニット分離標識 | |
111 1111 | 177 | 127 | 7F | DEL | ␡ | ^? | 抹消 |
ASCII印字可能文字
ASCII 32は、空白文字である。キーボードのスペースキーから入力でき言葉の間に空白を表示する。 ASCII 33~126は印刷可能な文字(printable characters)であり、半角英数の数字、句読点や記号を表す。
下の図では、16進数・10進数・8進数の順でASCIIコードの値を示しています。
大文字のASCII値に32を加えると小文字に変換することが出来る。この変換は、2進法では、6ビット目に1をセットするだけでよい。また、数字から48を減じれば、対応する値が得られる。この変換は、5ビット目及び6ビット目に0をセットするか、あるいは単純に上位4ビットを無視するだけでもよい。なお、印字可能文字のうち「@」から始まる32文字については、ASCII値を64減じて対応する制御文字を求め、この制御文字を「コントロール+」(テンプレート:Lang-en-short)という前置表現を付けた印字可能文字で表記する慣習がある。
この制御文字の表記方法は、キーボード上の印字可能文字キーを制御文字の送出に用いていた機器の名残りであると考えられる(7ビット目を0にセットする専用キー(Ctrlキー)を、印字可能文字キーと同時に押して制御文字を送出)。
参考文献
- 「ANSI INCITS 4-1986 (formerly ANSI X3.4-1986) American National Standard for Information Systems ― Coded Character Sets ― 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)」American National Standards Institute(1963年6月17日制定、1986年3月26日最終改正、2002年1月15日規格番号変更)
関連項目