ASCII
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、文字コードについて説明しています。その他の用法については「アスキー」をご覧ください。
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}この項目には、一部のコンピュータや閲覧ソフトで表示できない文字が含まれています(詳細)。

ASCIIASCII コード表 :MIL-STD-188-100 (1972)
テンプレートを表示

ASCII(アスキー、: American Standard Code for Information Interchange)は、1963年に制定された、アメリカ合衆国における情報通信用の文字コードである。日本語訳は「情報交換用米国標準コード[1]」となるが、一般には日本国内でもASCIIと表記する。なおInternet Assigned Numbers Authority (IANA) はこれをASCIIではなくUS-ASCIIと表記するのが望ましいとしている[2]
概要

1963年6月17日に、米国規格協会(American Standards Association: ASA、後のANSI)によって制定された。当時の規格番号は「ASA X3.4」であったが、情報技術規格国際委員会 (INCITS) の発足に伴い規格番号が2002年に改訂され、現在の規格番号は「ANSI INCITS 4」である。

0番から127番までの番号(数値)がどの文字や記号を意味するかという対応関係を定めている[3]

ASCIIは、あくまで1960年代のアメリカにおいて英語での通信や当時のアメリカのコンピュータに必要な文字や記号などが含まれるように定めた文字コードである。そのため、含まれているのは次のような文字や記号や制御文字だけであり、それ以外は含まれていない。

英語で使われるアルファベット》の大文字と小文字

英文でよく使われる約物など

0から9までの数字(アラビア数字)

制御文字(ASCIIに含まれた制御文字については#ASCII制御文字の節で説明する)

これらの文字や記号をすべて通し番号で表現できるように、7ビットを使っている。つまり2進数で7桁、具体的には0000000から1111111まで、10進数でいえば0番から127番までの番号を使い、それぞれの数値(番号)に対応する文字や約物や数字や制御文字を決め、その対応の規則(コード)を制定したものである。

ASCIIの構成は次のようになっている:

コード範囲(16進)内容
00?1F制御文字
20空白
21?7E図形文字
7F制御文字(DEL)

派生規格

ASCIIはISO標準7ビット文字コードISO/IEC 646の元となった。しかし7ビットでは英語以外の言語に対応するには不十分であり、後に他のヨーロッパ言語で使われるラテン文字への対応を追加した8ビット文字コードであるISO/IEC 8859が策定された。その後、世界中で使用されている様々な文字を表現できるようにするため、ASCIIで使用されていない128番以降の部分に、その他の文字を割り当てたり、複数バイトを使用して1つの文字を表現したりするように独自拡張した文字符号化方式が使われるようになっていった。

ASCII制定当時、最小のデータ処理単位(メモリアドレッシングの最小単位)つまりバイトが6ビットであるコンピュータも多かった(DECPDPシリーズなど)。そのようなコンピュータでは6ビットの文字符号化方式を採用しており、そのためISO/IEC 646の策定にあたっては、7ビット符号化案の他に6ビット符号化案もあった。のちに1バイトを8ビットとみなす、つまりオクテットを採用するコンピュータが人気となり、主流となっていった[4]。オクテットを採用したコンピュータでASCIIを扱う場合、1ビットの余りがあるので、その8ビット目は通信におけるエラーチェック用のパリティビットとして用いられていた[3]。21世紀初頭においても、互換性を維持する目的で、7ビットコードが正式で、8ビット目は使用できない規格がいくつか存在する。

ASCIIから派生した独自拡張の文字符号化方式は1バイトコードおよび複数バイトコードを含め多数存在するが、各方式の間に互換性はほとんどなく、国際的なデータ交換性に問題があった。また、異なる言語間に限らず、例えば日本語の文字セットであっても複数の符号化方式が存在し、異なるコンピュータ間で互換性および可搬性のない機種依存文字が発生することになった。そのため、世界の文字を単一のコード体系のもとに収録する国際的な文字コード標準として、ISO/IEC 10646およびUnicodeの策定が進められることになった[5]。Unicode方式で符号化された文字データのうち、0番から127番まではASCIIをベースにしており、互換性がある。特に8ビット単位で符号化するUTF-8は、128番以降の文字を使用しないデータの場合はASCIIと同一のバイト列となる[6]。従来の文字符号化方式では1バイトや2バイトで表現可能だった文字が、UTF-8では2バイトや3バイト以上必要となってしまうケースもあるが、そのデメリットを補ってなお余りある交換性の高さから国際的にもUTF-8の普及が進んでいる[7]。これは従来の文字符号化方式が開発された当時と比べると、コンピュータのメモリやストレージの容量が飛躍的に増大しているためでもある。HTML5ではUTF-8の使用が推奨されており[8]、後継のHTML Living Standard(英語版)でもデフォルトでUTF-8が使用されることを想定している[9]
ASCII制御文字「制御文字#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 0000000000NUL?^@\0ヌル文字
000 0001001101SOH?^Aヘッディング開始
000 0010002202STX?^Bテキスト開始
000 0011003303ETX?^Cテキスト終了
000 0100004404EOT?^D伝送終了
000 0101005505ENQ?^E問い合わせ
000 0110006606ACK?^F肯定応答
000 0111007707BEL?^G\aベル
000 1000010808BS?^H\b後退
000 1001011909HT?^I\t水平タブ
000 1010012100ALF?^J\n改行
000 1011013110BVT?^K\v垂直タブ
000 1100014120CFF?^L\f書式送り
000 1101015130DCR?^M\r復帰
000 1110016140ESO?^Nシフトアウト
000 1111017150FSI?^Oシフトイン
001 00000201610DLE?^P伝送制御拡張
001 00010211711DC1?^Q装置制御1、XON
001 00100221812DC2?^R装置制御2
001 00110231913DC3?^S装置制御3、XOFF
001 01000242014DC4?^T装置制御4
001 01010252115NAK?^U否定応答
001 01100262216SYN?^V同期信号
001 01110272317ETB?^W伝送ブロック終結
001 10000302418CAN?^X取消
001 10010312519EM?^Y媒体終端
001 1010032261ASUB?^Z置換
001 1011033271BESC?^[\eエスケープ
001 1100034281CFS?^\ファイル分離標識
001 1101035291DGS?^]グループ分離標識


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:46 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef