ASCII 【American Standard Code for Information Interchange】 アスキー / ISO/IEC 646 / US-ASCII / ASCIIコード / アスキーコード

概要

ASCII(American Standard Code for Information Interchange)とは、アルファベットや数字、記号などを収録した文字コードの一つ。最も基本的な文字コードとして世界的に普及しており、他の多くの文字コードがASCIIの拡張になるよう実装されている。文字を7ビットの値(0~127)で表し、128文字が収録されている。

主に英語で必要な文字を収録したコード規格で、0番から127番までの番号(正確には2進数で0000000から1111111まで)について、各番号がどの文字を意味するかという対応関係を定めている。例えば英大文字の「A」はASCIIコードでは65番(16進数で41、2進数で1000001)で表される。

収録されているのはA~Z、a~zのラテンアルファベット(ローマ字)、0~9のアラビア数字、約物(引用符括弧疑問符感嘆符カンマピリオドなど)、記号(数学記号やドルマークアットマークなど)、空白文字、制御文字改行文字タブ文字、古い通信制御文字など)などである。

1963年にASA(アメリカ規格協会、現在のANSI)が定めた規格で、1967年に国際標準化機構(ISO)がほぼ同じ内容をISO/IEC 646として標準化した。1970年代以降ほとんどのコンピュータやソフトウェアが標準の文字コードの一つとして対応しており、英文の文字情報の記述やコンピュータ言語の表記などに用いられている。一般的なキーボードにはASCII文字に対応するキーが配されている。

8ビット目を利用した拡張規格

ASCIIでは1文字を7ビットで表すが、現代のコンピュータのほとんどはデータの基本的な管理単位が1バイト(8ビット)であるため、実際には1文字を8ビットで表している。

残りの1ビットはもともとデータ伝送時の誤り検出符号(パリティビット)などとして用いられてきたが、電子回路や通信システムの信頼性向上などを受け、この1ビットを活用してASCIIを拡張する試みが行われるようになった。

ASCIIを拡張したコード体系では、0から127まではASCIIと同じで、ASCIIに規定の無い128~255の領域に独自の文字を割り当てている。例えば、日本国内で用いられたJIS X 0201では、この領域にカタカナ(いわゆる半角カナ)や句読点(。、)、鉤括弧(「」)を配置して限定的ながら日本語を使えるようにしている。

後にASCII拡張についても標準化の動きが起こり、8ビットコードや複数バイトコードの扱い、各国の拡張コードの切り替え方式などを定めたISO/IEC 2022や、これに基づいて具体的な8ビットの文字コードを規定したISO/IEC 8859などの規格が策定された。追加の文字を含めても1バイトで十分なヨーロッパ各国の言語などではISO/IEC 8859が標準的な文字コードとして普及している。


10
16
NUL000
SOH101
STX202
ETX303
EOT404
ENQ505
ACK606
BEL707
BS808
HT909
LF*100a
VT110b
FF*120c
CR130d
SO140e
SI150f

10
16
DLE1610
DC11711
DC21812
DC31913
DC42014
NAK2115
SYN2216
ETB2317
CAN2418
EM2519
SUB261a
ESC271b
FS281c
GS291d
RS301e
US311f

10
16
SP3220
!3321
"3422
#3523
$3624
%3725
&3826
'3927
(4028
)4129
*422a
+432b
,442c
-452d
.462e
/472f

10
16
04830
14931
25032
35133
45234
55335
65436
75537
85638
95739
:583a
;593b
<603c
=613d
>623e
?633f

10
16
@6440
A6541
B6642
C6743
D6844
E6945
F7046
G7147
H7248
I7349
J744a
K754b
L764c
M774d
N784e
O794f

10
16
P8050
Q8151
R8252
S8353
T8454
U8555
V8656
W8757
X8858
Y8959
Z905a
[915b
¥925c
]935d
^945e
_955f

10
16
`9660
a9761
b9862
c9963
d10064
e10165
f10266
g10367
h10468
i10569
j1066a
k1076b
l1086c
m1096d
n1106e
o1116f

10
16
p11270
q11371
r11472
s11573
t11674
u11775
v11876
w11977
x12078
y12179
z1227a
{1237b
|1247c
}1257d
~1267e
DEL1277f
* LFはNL、FFはNPと呼ばれることもある。
* 赤字制御文字SPは空白文字(スペース)、黒字と緑字は図形文字。
* 緑字はISO 646で文字の変更が認められ、日本ではバックスラッシュ円記号になっている。
(2020.6.2更新)

ASCII制御コードの由来

10進16進コードフルスペル意味・用法
000NULNull空文字
101SOHStart Of Headingヘッダ開始
202STXStart Of Textテキスト開始
303ETXEnd Of Textテキスト終了
404EOTEnd Of Transmission伝送終了
505ENQEnquiry問い合わせ
606ACKAcknowledgement肯定応答
707BELBell警告音を鳴らす
808BSBack Space一文字後退
909HTHorizontal Tabulation水平タブ
100aLF / NLLine Feed / New Line改行
110bVTVertical Tabulation垂直タブ
120cFF / NPForm Feed / New Page改ページ
130dCRCarriage Return行頭復帰
140eSOShift Outシフトアウト(多バイト文字終了)
150fSIShift Inシフトイン(多バイト文字開始)
1610DLEData Link Escapeデータリンク拡張(バイナリ通信開始)
1711DC1Device Control 1装置制御1
1812DC2Device Control 2装置制御2
1913DC3Device Control 3装置制御3
2014DC4Device Control 4装置制御4
2115NAKNegative Acknowledgement否定応答
2216SYNSynchronous idle同期
2317ETBEnd of Transmission Block伝送ブロック終了
2418CANCancel取り消し
2519EMEnd of Medium記録媒体終端
261aSUB / EOFSubstitute / End Of File文字置換 / ファイル終端
271bESCEscapeエスケープ(特殊文字開始)
281cFSFile Separatorファイル区切り
291dGSGroup Separatorグループ区切り
301eRSRecord Separatorレコード区切り
311fUSUnit Separatorユニット区切り
3220SPCSpace空白文字
1277fDELDelete一文字削除