ASCII





この項目には、一部のコンピュータや閲覧ソフトで表示できない文字が含まれています(詳細)

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




目次





  • 1 概要


  • 2 ASCII制御文字


  • 3 ASCII印字可能文字


  • 4 参考文献


  • 5 関連項目




概要


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は整数で表されるデジタルデータと文字集合とが対応づけられたコードである。このコードに従い、文字等を整数に変換する事で、通信、文字情報の処理や保存を行うのが容易になる。ASCIIASCII互換コードは、ほとんど全てのコンピュータ(特にパーソナルコンピュータやワークステーション)で扱う事が出来る。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に変えることでデータを記録し、かつ上書きが不可能な媒体が存在する場合でも対応できるようにしているのである。


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


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


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




















































































































































































































































































































2進8進10進16進略語図形表現CSエスケープシーケンス名前/意味
000 0000000000
NUL^@
ヌル文字
000 0001001101
SOH^A
ヘッディング開始
000 0010002202
STX^B
テキスト開始
000 0011003303
ETX^C
テキスト終了
000 0100004404
EOT^D
伝送終了
000 0101005505
ENQ^E
問い合わせ
000 0110006606
ACK^F
肯定応答
000 0111007707
BEL^Ga
ベル
000 1000010808
BS^Hb
後退
000 1001011909
HT^It
水平タブ
000 1010012100A
LF^Jn
改行
000 1011013110B
VT^Kv
垂直タブ
000 1100014120C
FF^Lf
書式送り
000 1101015130D
CR^Mr
復帰
000 1110016140E
SO^N
シフトアウト
000 1111017150F
SI^O
シフトイン
001 00000201610
DLE^P
伝送制御拡張
001 00010211711
DC1^Q
装置制御1、XON
001 00100221812
DC2^R
装置制御2
001 00110231913
DC3^S
装置制御3、XOFF
001 01000242014
DC4^T
装置制御4
001 01010252115
NAK^U
否定応答
001 01100262216
SYN^V
同期信号
001 01110272317
ETB^W
伝送ブロック終結
001 10000302418
CAN^X
取消
001 10010312519
EM^Y
媒体終端
001 1010032261A
SUB^Z
置換
001 1011033271B
ESC^[e
エスケープ
001 1100034281C
FS^
ファイル分離標識
001 1101035291D
GS^]
グループ分離標識
001 1110036301E
RS^^
レコード分離標識
001 1111037311F
US^_
ユニット分離標識

111 11111771277F
DEL^?
抹消


ASCII印字可能文字


ASCII 32は、空白文字である。キーボードのスペースキーから入力でき、語と語の間に空白を表示する。
ASCII 33〜126は印刷可能な文字(printable characters)であり、半角英数の数字、句読点や記号を表す。若い順からエクスクラメーションマーク、ダブルクオーテーション・・・と続き、ラテン文字大文字の前に数字と大半の半角約物、大文字と小文字の間、ラテン文字小文字の後にも数種類の半角約物が割り当てられている。


下の図では、16進数・10進数・8進数の順でASCIIコードの値を示す。


凡例:















































































































































ASCII (American Standard Code for Information Interchange) 印字可能文字

_0_1
_2_3
_4_5
_6_7
_8_9
_A_B
_C_D
_E_F
 
2−
 

SP
0x20
32
040

!
0x21
33
041

"
0x22
34
042

#
0x23
35
043

$
0x24
36
044

%
0x25
37
045

&
0x26
38
046

'
0x27
39
047

(
0x28
40
050

)
0x29
41
051

*
0x2A
42
052

+
0x2B
43
053

,
0x2C
44
054

-
0x2D
45
055

.
0x2E
46
056

/
0x2F
47
057
 
3−
 

0
0x30
48
060

1
0x31
49
061

2
0x32
50
062

3
0x33
51
063

4
0x34
52
064

5
0x35
53
065

6
0x36
54
066

7
0x37
55
067

8
0x38
56
070

9
0x39
57
071

:
0x3A
58
072

;
0x3B
59
073

<
0x3C
60
074

=
0x3D
61
075

>
0x3E
62
076

?
0x3F
63
077
 
4−
 

@
0x40
64
100

A
0x41
65
101

B
0x42
66
102

C
0x43
67
103

D
0x44
68
104

E
0x45
69
105

F
0x46
70
106

G
0x47
71
107

H
0x48
72
110

I
0x49
73
111

J
0x4A
74
112

K
0x4B
75
113

L
0x4C
76
114

M
0x4D
77
115

N
0x4E
78
116

O
0x4F
79
117
 
5−
 

P
0x50
80
120

Q
0x51
81
121

R
0x52
82
122

S
0x53
83
123

T
0x54
84
124

U
0x55
85
125

V
0x56
86
126

W
0x57
87
127

X
0x58
88
130

Y
0x59
89
131

Z
0x5A
90
132

[
0x5B
91
133


0x5C
92
134

]
0x5D
93
135

^
0x5E
94
136

_
0x5F
95
137
 
6−
 

`
0x60
96
140

a
0x61
97
141

b
0x62
98
142

c
0x63
99
143

d
0x64
100
144

e
0x65
101
145

f
0x66
102
146

g
0x67
103
147

h
0x68
104
150

i
0x69
105
151

j
0x6A
106
152

k
0x6B
107
153

l
0x6C
108
154

m
0x6D
109
155

n
0x6E
110
156

o
0x6F
111
157
 
7−
 

p
0x70
112
160

q
0x71
113
161

r
0x72
114
162

s
0x73
115
163

t
0x74
116
164

u
0x75
117
165

v
0x76
118
166

w
0x77
119
167

x
0x78
120
170

y
0x79
121
171

z
0x7A
122
172


0x7B
123
173


0x7D
125
175

~
0x7E
126
176


_0_1
_2_3
_4_5
_6_7
_8_9
_A_B
_C_D
_E_F

大文字のASCII値に32を加えると小文字に変換することが出来る。この変換は、2進法では、6ビット目に1をセットするだけでよい。また、数字から48を減じれば、対応する値が得られる。この変換は、5ビット目及び6ビット目に0をセットするか、あるいは単純に上位4ビットを無視するだけでもよい。なお、印字可能文字のうち「@」から始まる32文字については、ASCII値を64減じて対応する制御文字を求め、この制御文字を「コントロール+」(英: control+)という前置表現を付けた印字可能文字で表記する慣習がある。



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



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


また,Unix 端末では Ctrl+数字 で人間工学的に押下しづらい制御文字を送出できる。具体的には



^2 が ^@,^3 が ^[,^4 が ^,^5 が ^],^6 が ^^,^7 が ^_,^8 が ^?



であることが多い。



参考文献


  • 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日規格番号変更)


関連項目


  • JIS X 0201

Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

ReactJS Fetched API data displays live - need Data displayed static

Evgeni Malkin