article

American Standard Code for Information Interchangeは、現代英語や西ヨーロッパ言語で使われるラテン文字を中心とした文字コード。略称はASCII(アスキー)。これはコンピュータその他の通信機器において最もよく使われているものである。

概要


ASCIIは、7桁の2進数で表すことのできる整数の数値のそれぞれに、大小のアルファベット数字、英文でよく使われる約物などを割り当てたものである。1963年6月17日に、American Standards Association(ASA、後の ANSI)によって制定された。当時の規格番号は ASA X3.4 、現在の規格番号は ANSI INCITS 4 である。

現在、世界中で使用されている様々な文字の符号化方式の多くは、このASCIIコードで使用されていない128番以降の部分に、その他の文字を割り当てたものである。

他のコードと同じく、ASCIIは整数で表されるデジタルデータと文字記号とが対応づけられたコードである。このコードに従い、文字等を整数に変換する事で、通信、文字情報の処理や保存を行うのが容易になる。ASCIIやASCII互換コードは、ほとんど全てのコンピュータ(特にパーソナルコンピュータワークステーション)で扱う事が出来る。MIMEでは、"US-ASCII"とするのが望ましい。

ASCIIは7ビットコードである。つまり、情報を表すのに7桁の2進数(10進数では0~127)を用いる。ASCIIが紹介された頃ですら、ほとんどのコンピュータの扱う最少単位は8ビットであるバイトであった。そのため8ビット目は通信におけるエラーチェック用のパリティビットとして用いられていた。21世紀初頭においても、互換性を維持する目的で、7ビットコードが正式で、8ビット目は使用できない規格がいくつか存在する。

ASCIIはテキストの構造や見た目に関する情報は持たない。そのような情報はマークアップ言語などを使用する事で補うことが出来る。

日本で使われている同じISO/IEC 646ファミリーのJIS X 0201は、92番の文字に「バックスラッシュ」('\')の替わりに「円記号」('¥')が、126番に「チルダ」('~')の替わりに「オーバーライン」('‾')が割り当てられている。

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

コード範囲(16進) 内容
0x00-0x1f 制御文字
0x20 空白
0x21-0x7e 図形文字
0x7f 制御文字(DEL)

ASCII制御文字


初めの32文字(10進数で0-31)はASCIIでは制御文字として予約されている。基本的にはこれらの制御文字は表示するための文字ではなく、モニタプリンタなどの機器を制御するために用いられる。例えば、ASCII 10(10進)はline feed(改行)を表し(プリンタの紙送りなどに用いる)、ASCII 27はエスケープを表す。

ASCII 127(全てのビットがON、つまり、2進数で1111111)は、deleteとして知られる制御文字である。この記号が現れた場合、その部分のデータが消去されていることを示す。この制御文字だけ先頭部分になく最後にある理由は、パンチテープへの記録は上書きが出来ないため、削除する際には全てに穴を空けることで対応できるというところからきている(1111111は全てに穴の開いた状態を示す)。また、ASCII 0(全てのビットがOFF、つまり2進数で0000000)はヌルあるいは空文字と呼ばれ、deleteと同様に多くのコンピュータシステムでは無視される。これは、仮に紙テープとは全く逆に1を0に変えることでデータを記録し、かつ上書きが不可能な媒体が存在する場合でも対応できるようにしているのである。

コードの多くは、データ転送プロトコルで用いられる。(例:ヘッダ開始、テキスト開始、テキスト終了など。)

セパレータは磁気テープへの保存のために設計された。

XON や XOFF は、プリンタのような処理の遅いデバイスにおいて、データを失うことがないように情報の流れを制御するために用いる事がある。

2進 10進 16進 略語 図形表現 名前/意味
0000 0000 0 00 NUL 空文字
0000 0001 1 01 SOH ヘッダ開始
0000 0010 2 02 STX テキスト開始
0000 0011 3 03 ETX テキスト終了
0000 0100 4 04 EOT 転送終了
0000 0101 5 05 ENQ 問い合わせ
0000 0110 6 06 ACK 肯定応答
0000 0111 7 07 BEL ベル
0000 1000 8 08 BS 1文字後退
0000 1001 9 09 HT 水平タブ
0000 1010 10 0A LF 改行
0000 1011 11 0B VT 垂直タブ
0000 1100 12 0C FF 改ページ
0000 1101 13 0D CR 復帰
0000 1110 14 0E SO シフトアウト
0000 1111 15 0F SI シフトイン
0001 0000 16 10 DLE データリンク拡張
0001 0001 17 11 DC1 装置制御1,XON
0001 0010 18 12 DC2 装置制御2
0001 0011 19 13 DC3 装置制御3,XOFF
0001 0100 20 14 DC4 装置制御4
0001 0101 21 15 NAK 否定応答
0001 0110 22 16 SYN 同期信号
0001 0111 23 17 ETB ブロック転送終了
0001 1000 24 18 CAN キャンセル
0001 1001 25 19 EM 媒体終端
0001 1010 26 1A SUB 置換
0001 1011 27 1B ESC エスケープ
0001 1100 28 1C FS ファイルセパレータ
0001 1101 29 1D GS グループセパレータ
0001 1110 30 1E RS レコードセパレータ
0001 1111 31 1F US ユニットセパレータ
0111 1111 127 7F DEL 削除

注:上の表の第5列には制御文字をあらわす図形文字のコードが入っているが、インストールしてあるフォントなどの環境によっては表示されないかもしれない。

ASCII印字可能文字


ASCII 32は、空白文字である。キーボードのスペースキーから入力でき言葉の間に空白を表示する。 ASCII 33~126は印刷可能な文字(printable characters)であり、半角英数の数字、句読点や記号を表す。

2進 10進 16進 文字
0010 0000 32 20 間隔 (␠)
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?

 

2進 10進 16進 文字
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _

 

2進 10進 16進 文字
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~

備考 : 大文字のASCII値に32を加えると小文字に変換することが出来る。この変換は、2進法では、6ビット目に1をセットするだけでよい。また、数字から48を減じれば、対応する値が得られる。この変換は、5ビット目及び6ビット目に0をセットするか、あるいは単純に上位4ビットを無視するだけでもよい。

なお、印字可能文字のうち、"@"から始まる32文字については、ASCII値を64減じて対応する制御文字を求め、この制御文字を"コントロール+"(英:control+)という前置表現を付けた印字可能文字で表記する慣習がある。

例: BELコード(07)→"コントロール+G"(受信した側の機器で注意喚起音が鳴る)

この制御文字の表記方法は、キーボード上の印字可能文字キーを制御文字の送出に用いていた機器の名残りであると考えられる。(7ビット目を0にセットする専用キー(Ctrlキー)を、印字可能文字キーと同時に押して制御文字を送出)。

文字コード

ASCII | آسكي | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | Askio | ASCII | ASCII | ASCII | American Standard Code for Information Interchange | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII (tekenset) | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | Аски | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | ASCII

外部リンク


 

This article is licensed under the GNU Free Documentation License. It uses material from the "American Standard Code for Information Interchange".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld