ASCII码详解
ASCII
American Standard Code for Information Interchange
美国信息交换标准代码
至今为止定义了128个字符 (序号:0-127)
2^7=128
7位二进制数字表示
EASCII(Extended ASCII)
延伸美国标准信息交换码
在128个ASCII码的基础上, 又增加了128个新字符, 也就是EASCII一共定义了256个字符 (序号: 0-255)
2^8=256
8位二进制数字表示
ASCII从能否显示的角度分为2大类:
- 控制字符(不能显示) 33个
- 可显示字符 95个
控制字符主要是用来操作已经处理过的字符的, 也就是删除, 取消, 确认, 回车. 转义等功能性的字符
而且在这些控制字符中, 有大半部分已经被弃用了
控制字符的在ASCII码表中的序号是: 0-31号和127号
其中127号字符是DELETE字符, 对应你键盘上的DELETE键
虽然控制字符不能显示出来, 但是却可以输入, 在绝大部分的终端系统中, 输入Ctrl+对应键盘字符
就能输入控制字符
例如: 我想输入NULL空字符, 根据ASCII码的脱出字符表示法^@
, 需要按键盘的Ctrl
键+2
号数字键而并不是敲Shift+6+2
可显示字符, 使用频率远远大于控制字符
但是95个字符的数量决定了ASCII码只能显示:阿拉伯数字, 英文字母和英语标点符号
细数一下:
26个小写英文字母 + 26个大写英文字母 = 52个字符
阿拉伯数字0-9 = 10个字符
个人觉得标点符号值得比较值得展示一下
95 - 52 -10 = 32个标点符号
+ - * / 加减乘除4个
, . ; <space> 分隔符号4个
()[]{} 括号类6个
' " ` 引号类3个
& | ! 逻辑符号3个
? 通配符号1个
\ 转义符号1个
% ^ 取模乘方2个
> < = 比较符号3个
$ 变量符号1个
# 注释符号1个
_ : 下划冒号2个
~ 波浪符号1个
4+4+6+3+3+1+1+2+3+1+1+2+1
20+4+3+5=32
给一张初代ASCII码表的官方图(1968年版)
从b1,b2...一直到b7, 也就是二进制位数只有7位
查表的顺序是从b7到b1代表二进制编号
列开始顺序查找, 也就是先从第0列第0行开始, 到第7列第15行结束
这张表尤其适合查找字符的16进制编号
控制符表
二进制 | 十进制 | 十六进制 | 缩写 | 名称/意义 |
---|---|---|---|---|
0000 0000 | 0 | 0 | NUL | 空字符(Null) |
0000 0001 | 1 | 1 | SOH | 标题开始 |
0000 0010 | 2 | 2 | STX | 本文开始 |
0000 0011 | 3 | 3 | ETX | 本文结束 |
0000 0100 | 4 | 4 | EOT | 传输结束 |
0000 0101 | 5 | 5 | ENQ | 请求 |
0000 0110 | 6 | 6 | ACK | 确认回应 |
0000 0111 | 7 | 7 | BEL | 响铃 |
0000 1000 | 8 | 8 | BS | 退格 |
0000 1001 | 9 | 9 | HT | 水平定位符号 |
0000 1010 | 10 | 0A | LF | 换行键 |
0000 1011 | 11 | 0B | VT | 垂直定位符号 |
0000 1100 | 12 | 0C | FF | 换页键 |
0000 1101 | 13 | 0D | CR | CR (字符) |
0000 1110 | 14 | 0E | SO | 取消变换(Shift out) |
0000 1111 | 15 | 0F | SI | 启用变换(Shift in) |
0001 0000 | 16 | 10 | DLE | 跳出数据通讯 |
0001 0001 | 17 | 11 | DC1 | 设备控制一(XON 激活软件速度控制) |
0001 0010 | 18 | 12 | DC2 | 设备控制二 |
0001 0011 | 19 | 13 | DC3 | 设备控制三(XOFF 停用软件速度控制) |
0001 0100 | 20 | 14 | DC4 | 设备控制四 |
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 | Delete字符 |
可显示字符表
二进制 | 十进制 | 十六进制 | 字符 |
---|---|---|---|
0010 0000 | 32 | 20 | (space) |
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 | ? |
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 | _ |
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 | ~ |
EASCII
EASCII字符编码, 是把ASCII的7位二进制表示扩充到了8位
扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号, 但还是仅收录了偏拉丁语的一系列国家的语言符号
ISO 8859 是最常见的8位字符编码。
除此之外,不同的操作系统都会有它的8位字符编码, 也就是说EASCII扩充的后半部分字符集在某些环境下是互不兼容的
ISO 8859 标准一共定义了15个字符集, 从1到16没有12, 分别去表示不同语言体系的语言字符
ISO 8859-1 常用字符
字符 | 十六进制 | 十进制 | 描述 |
---|---|---|---|
A0 | 160 | 不换行空格(NBSP) | |
¡ | A1 | 161 | 倒感叹号 |
¢ | A2 | 162 | 英分 |
£ | A3 | 163 | 英镑 |
¤ | A4 | 164 | 货币记号 |
¥ | A5 | 165 | 人民币/日元 |
¦ | A6 | 166 | 断竖线 |
§ | A7 | 167 | 小节符 |
¨ | A8 | 168 | 分音符(元音变音) |
© | A9 | 169 | 著作权符 |
ª | AA | 170 | 阴性序数记号 |
« | AB | 171 | 左指双尖引号 |
¬ | AC | 172 | 非标记 |
| AD | 173 | 选择性连接号(SHY) |
® | AE | 174 | 注册商标 |
¯ | AF | 175 | 长音符 |
° | B0 | 176 | 度 |
± | B1 | 177 | 正负号 |
² | B2 | 178 | 二次方号 |
³ | B3 | 179 | 三次方号 |
´ | B4 | 180 | 锐音符 |
µ | B5 | 181 | 微符 |
¶ | B6 | 182 | 段落标记 |
· | B7 | 183 | 中心点 |
¸ | B8 | 184 | 软音符 |
¹ | B9 | 185 | 一次方号 |
º | BA | 186 | 阳性序数记号 |
» | BB | 187 | 右指双尖引号 |
¼ | BC | 188 | 四分之一 |
½ | BD | 189 | 二分之一 |
¾ | BE | 190 | 四分之三 |
¿ | BF | 191 | 竖翻问号 |
À | C0 | 192 | 带抑音符的A |
Á | C1 | 193 | 带锐音符的A |
 | C2 | 194 | 带扬抑符的A |
à | C3 | 195 | 带颚化符的A |
Ä | C4 | 196 | 带分音符的A |
Å | C5 | 197 | 带上圆圈的A |
Æ | C6 | 198 | 大写连字AE |
Ç | C7 | 199 | 带下加符的C |
È | C8 | 200 | 带抑音符的E |
É | C9 | 201 | 带锐音符的E |
Ê | CA | 202 | 带扬抑符的E |
Ë | CB | 203 | 带分音符的E |
Ì | CC | 204 | 带抑音符的I |
Í | CD | 205 | 带锐音符的I |
Î | CE | 206 | 带扬抑符的I |
Ï | CF | 207 | 带分音符的I |
Ð | D0 | 208 | 带横线符的D |
Ñ | D1 | 209 | 带颚化符的N |
Ò | D2 | 210 | 带抑音符的O |
Ó | D3 | 211 | 带锐音符的O |
Ô | D4 | 212 | 带扬抑符的O |
Õ | D5 | 213 | 带颚化符的O |
Ö | D6 | 214 | 带分音符的O |
× | D7 | 215 | 乘号 |
Ø | D8 | 216 | 带斜线的O |
Ù | D9 | 217 | 带抑音符的U |
Ú | DA | 218 | 带锐音符的U |
Û | DB | 219 | 带扬抑符的U |
Ü | DC | 220 | 带分音符的U |
Ý | DD | 221 | 带锐音符的Y |
Þ | DE | 222 | 清音p |
ß | DF | 223 | 清音s |
à | E0 | 224 | 带抑音符的a |
á | E1 | 225 | 带锐音符的a |
â | E2 | 226 | 带扬抑符的a |
ã | E3 | 227 | 带颚化符的a |
ä | E4 | 228 | 带分音符的a |
å | E5 | 229 | 带上圆圈的a |
æ | E6 | 230 | 小写连字AE |
ç | E7 | 231 | 带下加符的c |
è | E8 | 232 | 带抑音符的e |
é | E9 | 233 | 带锐音符的e |
ê | EA | 234 | 带扬抑符的e |
ë | EB | 235 | 带分音符的e |
ì | EC | 236 | 带抑音符的i |
í | ED | 237 | 带锐音符的i |
î | EE | 238 | 带扬抑符的i |
ï | EF | 239 | 带分音符的i |
ð | F0 | 240 | 带斜线的d |
ñ | F1 | 241 | 带颚化符的n |
ò | F2 | 242 | 带抑音符的o |
ó | F3 | 243 | 带锐音符的o |
ô | F4 | 244 | 带扬抑符的o |
õ | F5 | 245 | 带颚化符的o |
ö | F6 | 246 | 带分音符的o |
÷ | F7 | 247 | 除号 |
ø | F8 | 248 | 带斜线的o |
ù | F9 | 249 | 带抑音符的u |
ú | FA | 250 | 带锐音符的u |
û | FB | 251 | 带扬抑符的u |
ü | FC | 252 | 带分音符的u |
ý | FD | 253 | 带锐音符的y |
þ | FE | 254 | 小写字母Thorn |