■ASCIIコード表■

■ASCIIコードとは■

コンピュータは二進数しか扱えないため,文字データも二進数(つまり整数)として表現される.コンピュータは,ある二進数を特定の文字だと思いこんで処理する約束になっている.このような,文字を表現する二進数のことを特に文字コードと呼ぶ.

そこで,どの数値とどの文字を対応させるかを決めて,一覧表を作成することなる.現代のコンピュータでは標準的な文字コード表が決まっている.特にアルファベットと記号ではASCII(アスキー)コード表が使用される.

●(参考)日本語の文字コード●

日本語の文字,ひらがなや漢字などの文字コードには,歴史的経緯から一つだけではなく何種類か存在する.詳しくは日本語文字コードを参照すること.

■ASCIIコード表■

10進16進文字
00x00NUL(null文字)
10x01SOH(ヘッダ開始)
20x02STX(テキスト開始)
30x03ETX(テキスト終了)
40x04EOT(転送終了)
50x05ENQ(照会)
60x06ACK(受信確認)
70x07BEL(警告)
80x08BS(後退)
90x09HT(水平タブ)
100x0aLF(改行)
110x0bVT(垂直タブ)
120x0cFF(改頁)
130x0dCR(復帰)
140x0eSO(シフトアウト)
150x0fSI(シフトイン)
160x10DLE(データリンクエスケー プ)
170x11DC1(装置制御1)
180x12DC2(装置制御2)
190x13DC3(装置制御3)
200x14DC4(装置制御4)
210x15NAK(受信失敗)
220x16SYN(同期)
230x17ETB(転送ブロック終了)
240x18CAN(キャンセル)
250x19EM(メディア終了)
260x1aSUB(置換)
270x1bESC(エスケープ)
280x1cFS(フォーム区切り)
290x1dGS(グループ区切り)
300x1eRS(レコード区切り)
310x1fUS(ユニット区切り)
320x20SPC(空白文字)
330x21!
340x22"
350x23#
360x24$
370x25%
380x26&
390x27'
400x28(
410x29)
420x2a*
430x2b+
440x2c,
450x2d-
460x2e.
470x2f/
480x300
490x311
500x322
510x333
520x344
530x355
540x366
550x377
560x388
570x399
580x3a:
590x3b;
600x3c<
610x3d=
620x3e>
630x3f?
640x40@
650x41A
660x42B
670x43C
680x44D
690x45E
700x46F
710x47G
720x48H
730x49I
740x4aJ
750x4bK
760x4cL
770x4dM
780x4eN
790x4fO
800x50P
810x51Q
820x52R
830x53S
840x54T
850x55U
860x56V
870x57W
880x58X
890x59Y
900x5aZ
910x5b[
920x5c\
930x5d]
940x5e^
950x5f_
960x60`
970x61a
980x62b
990x63c
1000x64d
1010x65e
1020x66f
1030x67g
1040x68h
1050x69i
1060x6aj
1070x6bk
1080x6cl
1090x6dm
1100x6en
1110x6fo
1120x70p
1130x71q
1140x72r
1150x73s
1160x74t
1170x75u
1180x76v
1190x77w
1200x78x
1210x79y
1220x7az
1230x7b{
1240x7c|
1250x7d}
1260x7e~
1270x7fDEL(削除)

■(参考)ASCIIコードを使ったトリック■

C言語のプログラムでは,文字データもASCIIコードによって変換された整数データとして扱われるため,例えば次のように計算することができる.

char c, C
int offset;
C = '何か大文字のアルファベット';
offset = 'a' - 'A';   //大文字と小文字のASCIIコードの差
c = C + offset;       //大文字を小文字に変換,小文字をcに格納

'a'-'A'のように文字と文字の引き算をすると,実際にはASCIIコードでそれぞれのコードの数値を使って計算される.これにより'a'-'A'は97-65 = 32となり,offsetには32が格納される.

ASCIIコード表の上では,アルファベットの大文字と小文字は一定の間隔を空けて配置されているため,それ以外の文字'b'と'B'や'z'と'Z'の差も常に同じで,必ず32になっている.

そこで,あるアルファベットの大文字にoffsetを足し込むことで,大文字から小文字へ変換ができる.