转自百度百科 http://baike.baidu.com/link?url=FgA0ydqCA7QRAQlqthFaTTxLIM5lhniDuATzeZdAP-yuS9mTQE_vs_ZFuXxrv6huUc8E8dTDt6byuSpzAbsaHfrrLL_e89B1L0faLwCL2EILOgTCIRZb6FxnuzCJLYQSa_7gQwR9frqD2QIMbgXiRVCZRKOtBy65p5rvMKg3tyW
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
ASCII表
Bin
| Oct |
Dec
|
Hex
|
缩写/字符
|
解释
|
0000 0000
|
0
|
0
|
00
|
NUL(null)
|
空字符
|
0000 0001
|
1
|
1
|
01
|
SOH(start of headline)
|
标题开始
|
0000 0010
|
2
|
2
|
02
|
STX (start of text)
|
正文开始
|
0000 0011
|
3
|
3
|
03
|
ETX (end of text)
|
正文结束
|
0000 0100
|
4
|
4
|
04
|
EOT (end of transmission)
|
传输结束
|
0000 0101
|
5
|
5
|
05
|
ENQ (enquiry)
|
请求
|
0000 0110
|
6
|
6
|
06
|
ACK (acknowledge)
|
收到通知
|
0000 0111
|
7
|
7
|
07
|
BEL (bell)
|
响铃
|
0000 1000
|
10
|
8
|
08
|
BS (backspace)
|
退格
|
0000 1001
|
11
|
9
|
09
|
HT (horizontal tab)
|
水平制表符
|
0000 1010
|
12
|
10
|
0A
|
LF (NL line feed, new line)
|
换行键
|
0000 1011
|
13
|
11
|
0B
|
VT (vertical tab)
|
垂直制表符
|
0000 1100
|
14
|
12
|
0C
|
FF (NP form feed, new page)
|
换页键
|
0000 1101
|
15
|
13
|
0D
|
CR (carriage return)
|
回车键
|
0000 1110
|
16
|
14
|
0E
|
SO (shift out)
|
不用切换
|
0000 1111
|
17
|
15
|
0F
|
SI (shift in)
|
启用切换
|
0001 0000
|
20
|
16
|
10
|
DLE (data link escape)
|
数据链路转义
|
0001 0001
|
21
|
17
|
11
|
DC1 (device control 1)
|
设备控制1
|
0001 0010
|
22
|
18
|
12
|
DC2 (device control 2)
|
设备控制2
|
0001 0011
|
23
|
19
|
13
|
DC3 (device control 3)
|
设备控制3
|
0001 0100
|
24
|
20
|
14
|
DC4 (device control 4)
|
设备控制4
|
0001 0101
|
25
|
21
|
15
|
NAK (negative acknowledge)
|
拒绝接收
|
0001 0110
|
26
|
22
|
16
|
SYN (synchronous idle)
|
同步空闲
|
0001 0111
|
27
|
23
|
17
|
ETB (end of trans. block)
|
结束传输块
|
0001 1000
|
30
|
24
|
18
|
CAN (cancel)
|
取消
|
0001 1001
|
31
|
25
|
19
|
EM (end of medium)
|
媒介结束
|
0001 1010
|
32
|
26
|
1A
|
SUB (substitute)
|
代替
|
0001 1011
|
33
|
27
|
1B
|
ESC (escape)
|
换码(溢出)
|
0001 1100
|
34
|
28
|
1C
|
FS (file separator)
|
文件分隔符
|
0001 1101
|
35
|
29
|
1D
|
GS (group separator)
|
分组符
|
0001 1110
|
36
|
30
|
1E
|
RS (record separator)
|
记录分隔符
|
0001 1111
|
37
|
31
|
1F
|
US (unit separator)
|
单元分隔符
|
0010 0000
|
40
|
32
|
20
|
(space)
|
空格
|
0010 0001
|
41
|
33
|
21
|
!
| 叹号 |
0010 0010
|
42
|
34
|
22
|
"
| 双引号 |
0010 0011
|
43
|
35
|
23
|
#
| 井号 |
0010 0100
|
44
|
36
|
24
|
$
| 美元符 |
0010 0101
|
45
|
37
|
25
|
%
| 百分号 |
0010 0110
|
46
|
38
|
26
|
&
| 和号 |
0010 0111
|
47
|
39
|
27
|
'
| 闭单引号 |
0010 1000
|
50
|
40
|
28
|
(
|
开括号
|
0010 1001
|
51
|
41
|
29
|
)
|
闭括号
|
0010 1010
|
52
|
42
|
2A
|
*
| 星号 |
0010 1011
|
53
|
43
|
2B
|
+
| 加号 |
0010 1100
|
54
|
44
|
2C
|
,
| 逗号 |
0010 1101
|
55
|
45
|
2D
|
-
| 减号/破折号 |
0010 1110
|
56
|
46
|
2E
|
.
| 句号 |
00101111
|
57
|
47
|
2F
|
/
| 斜杠 |
00110000
|
60
|
48
|
30
|
0
| 数字0 |
00110001
|
61
|
49
|
31
|
1
| 数字1 |
00110010
|
62
|
50
|
32
|
2
| 数字2 |
00110011
|
63
|
51
|
33
|
3
| 数字3 |
00110100
|
64
|
52
|
34
|
4
| 数字4 |
00110101
|
65
|
53
|
35
|
5
| 数字5 |
00110110
|
66
|
54
|
36
|
6
| 数字6 |
00110111
|
67
|
55
|
37
|
7
| 数字7 |
00111000
|
70
|
56
|
38
|
8
| 数字8 |
00111001
|
71
|
57
|
39
|
9
| 数字9 |
00111010
|
72
|
58
|
3A
|
:
| 冒号 |
00111011
|
73
|
59
|
3B
|
;
| 分号 |
00111100
|
74
|
60
|
3C
|
<
| 小于 |
00111101
|
75
|
61
|
3D
|
=
| 等号 |
00111110
|
76
|
62
|
3E
|
>
| 大于 |
00111111
|
77
|
63
|
3F
|
?
| 问号 |
01000000
|
100
|
64
|
40
|
@
| 电子邮件符号 |
01000001
|
101
|
65
|
41
|
A
| 大写字母A |
01000010
|
102
|
66
|
42
|
B
| 大写字母B |
01000011
|
103
|
67
|
43
|
C
| 大写字母C |
01000100
|
104
|
68
|
44
|
D
| 大写字母D |
01000101
|
105
|
69
|
45
|
E
| 大写字母E |
01000110
|
106
|
70
|
46
|
F
| 大写字母F |
01000111
|
107
|
71
|
47
|
G
| 大写字母G |
01001000
|
110
|
72
|
48
|
H
| 大写字母H |
01001001
|
111
|
73
|
49
|
I
| 大写字母I |
01001010
|
112
|
74
|
4A
|
J
| 大写字母J |
01001011
|
113
|
75
|
4B
|
K
| 大写字母K |
01001100
|
114
|
76
|
4C
|
L
| 大写字母L |
01001101
|
115
|
77
|
4D
|
M
| 大写字母M |
01001110
|
116
|
78
|
4E
|
N
| 大写字母N |
01001111
|
117
|
79
|
4F
|
O
| 大写字母O |
01010000
|
120
|
80
|
50
|
P
| 大写字母P |
01010001
|
121
|
81
|
51
|
Q
| 大写字母Q |
01010010
|
122
|
82
|
52
|
R
| 大写字母R |
01010011
|
123
|
83
|
53
|
S
| 大写字母S |
01010100
|
124
|
84
|
54
|
T
| 大写字母T |
01010101
|
125
|
85
|
55
|
U
| 大写字母U |
01010110
|
126
|
86
|
56
|
V
| 大写字母V |
01010111
|
127
|
87
|
57
|
W
| 大写字母W |
01011000
|
130
|
88
|
58
|
X
| 大写字母X |
01011001
|
131
|
89
|
59
|
Y
| 大写字母Y |
01011010
|
132
|
90
|
5A
|
Z
| 大写字母Z |
01011011
|
133
|
91
|
5B
|
[
| 开方括号 |
01011100
|
134
|
92
|
5C
|
\
| 反斜杠 |
01011101
|
135
|
93
|
5D
|
]
| 闭方括号 |
01011110
|
136
|
94
|
5E
|
^
| 脱字符 |
01011111
|
137
|
95
|
5F
|
_
| 下划线 |
01100000
|
140
|
96
|
60
|
`
| 开单引号 |
01100001
|
141
|
97
|
61
|
a
| 小写字母a |
01100010
|
142
|
98
|
62
|
b
| 小写字母b |
01100011
|
143
|
99
|
63
|
c
| 小写字母c |
01100100
|
144
|
100
|
64
|
d
| 小写字母d |
01100101
|
145
|
101
|
65
|
e
| 小写字母e |
01100110
|
146
|
102
|
66
|
f
| 小写字母f |
01100111
|
147
|
103
|
67
|
g
| 小写字母g |
01101000
|
150
|
104
|
68
|
h
| 小写字母h |
01101001
|
151
|
105
|
69
|
i
| 小写字母i |
01101010
|
152
|
106
|
6A
|
j
| 小写字母j |
01101011
|
153
|
107
|
6B
|
k
| 小写字母k |
01101100
|
154
|
108
|
6C
|
l
| 小写字母l |
01101101
|
155
|
109
|
6D
|
m
| 小写字母m |
01101110
|
156
|
110
|
6E
|
n
| 小写字母n |
01101111
|
157
|
111
|
6F
|
o
| 小写字母o |
01110000
|
160
|
112
|
70
|
p
| 小写字母p |
01110001
|
161
|
113
|
71
|
q
| 小写字母q |
01110010
|
162
|
114
|
72
|
r
| 小写字母r |
01110011
|
163
|
115
|
73
|
s
| 小写字母s |
01110100
|
164
|
116
|
74
|
t
| 小写字母t |
01110101
|
165
|
117
|
75
|
u
| 小写字母u |
01110110
|
166
|
118
|
76
|
v
| 小写字母v |
01110111
|
167
|
119
|
77
|
w
| 小写字母w |
01111000
|
170
|
120
|
78
|
x
| 小写字母x |
01111001
|
171
|
121
|
79
|
y
| 小写字母y |
01111010
|
172
|
122
|
7A
|
z
| 小写字母z |
01111011
|
173
|
123
|
7B
|
{
| 开花括号 |
01111100
|
174
|
124
|
7C
|
|
| 垂线 |
01111101
|
175
|
125
|
7D
|
}
| 闭花括号 |
01111110
|
176
|
126
|
7E
|
~
| 波浪号 |
01111111
|
177
|
127
|
7F
|
DEL (delete)
|
删除
|
ASCII扩展表
虚拟ASCII值
ESC键VK_ESCAPE (27)
回车键:VK_RETURN (13)
TAB键:VK_TAB (9)
Caps Lock键:VK_CAPITAL (20)
Shift键:VK_SHIFT (16)
Ctrl键:VK_CONTROL (17)
Alt键:VK_MENU (18)
空格键:VK_SPACE (32)
退格键:VK_BACK (8)
左徽标键:VK_LWIN (91)
右徽标键:VK_RWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键:VK_INSERT (45)
Home键:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End键:VK_END (35)
Delete键:VK_DELETE (46)
方向键(←):VK_LEFT (37)
方向键(↑):VK_UP (38)
方向键(→):VK_RIGHT (39)
方向键(↓):VK_DOWN (40)
F1键:VK_F1 (112)
F2键:VK_F2 (113)
F3键:VK_F3 (114)
F4键:VK_F4 (115)
F5键:VK_F5 (116)
F6键:VK_F6 (117)
F7键:VK_F7 (118)
F8键:VK_F8 (119)
F9键:VK_F9 (120)
F10键:VK_F10 (121)
F11键:VK_F11 (122)
F12键:VK_F12 (123)
Num Lock键:VK_NUMLOCK (144)
小键盘0:VK_NUMPAD0 (96)
小键盘1:VK_NUMPAD1 (97)
小键盘2:VK_NUMPAD2 (98)
小键盘3:VK_NUMPAD3 (99)
小键盘4:VK_NUMPAD4 (100)
小键盘5:VK_NUMPAD5 (101)
小键盘6:VK_NUMPAD6 (102)
小键盘7:VK_NUMPAD7 (103)
小键盘8:VK_NUMPAD8 (104)
小键盘9:VK_NUMPAD9 (105)
小键盘。:VK_DECIMAL (110)
小键盘*:VK_MULTIPLY (106)
小键盘+:VK_ADD (107)
小键盘-:VK_SUBTRACT (109)
小键盘/:VK_DIVIDE (111)
Pause Break键:VK_PAUSE (19)
Scroll Lock键:VK_SCROLL (145)
补充:在Java中,如果要表示这些不可见的控制字符有2种方式,例如:
char c = '\n';
System.out.println("\\n is ISOControl? " + Character.isISOControl(c));//true
switch(c) {
// case '\n'://如果这里存在'\n'会报错:Duplicate case
// break;
case '\012':
System.out.println("\\n is \\012");//'\n'换行键
break;
case '\015':
System.out.println("\\n is \\015");//'\r'回车键
break;
// case '\0015'://Invalid character constant
// break;
}