ASCII
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。
ASCII 非打印控制字符
ASCII 表上的数字 0–31 分配给了控制字符,用于控制像打印机等一些外围设备。例如,12 代表换页/新页功能。此命令指示打印机跳到下一页的开头。
ASCII 非打印控制字符表
进制 | 字符 | 进制 | 字符 | |||
---|---|---|---|---|---|---|
0 | 00 | 空 | 16 | 10 | 数据链路转意 | |
1 | 01 | 头标开始 | 17 | 11 | 设备控制 1 | |
2 | 02 | 正文开始 | 18 | 12 | 设备控制 2 | |
3 | 03 | 正文结束 | 19 | 13 | 设备控制 3 | |
4 | 04 | 传输结束 | 20 | 14 | 设备控制 4 | |
5 | 05 | 查询 | 21 | 15 | 反确认 | |
6 | 06 | 确认 | 22 | 16 | 同步空闲 | |
7 | 07 | 震铃 | 23 | 17 | 传输块结束 | |
8 | 08 | backspace | 24 | 18 | 取消 | |
9 | 09 | 水平制表符 | 25 | 19 | 媒体结束 | |
10 | 0A | 换行/新行 | 26 | 1A | 替换 | |
11 | 0B | 竖直制表符 | 27 | 1B | 转意 | |
12 | 0C | 换页/新页 | 28 | 1C | 文件分隔符 | |
13 | 0D | 回车 | 29 | 1D | 组分隔符 | |
14 | 0E | 移出 | 30 | 1E | 记录分隔符 | |
15 | 0F | 移入 | 31 | 1F | 单元分隔符 |
ASCII 打印字符
数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字 127 代表 DELETE 命令。
ASCII 打印字符表
进制 | 字符 | 进制 | 字符 | 进制 | 字符 | |||||
---|---|---|---|---|---|---|---|---|---|---|
32 | 20 | space | 64 | 40 | @ | 96 | 60 | ` | ||
33 | 21 | ! | 65 | A | 97 | a | ||||
34 | 22 | " | 66 | B | 98 | b | ||||
35 | 23 | # | 67 | C | 99 | c | ||||
36 | 24 | $ | 68 | D | 100 | d | ||||
37 | 25 | % | 69 | E | 101 | e | ||||
38 | 26 | & | 70 | F | 102 | f | ||||
39 | 27 | ' | 71 | G | 103 | g | ||||
40 | 28 | ( | 72 | H | 104 | h | ||||
41 | 29 | ) | 73 | I | 105 | i | ||||
42 | 2A | * | 74 | J | 106 | j | ||||
43 | 2B | + | 75 | K | 107 | k | ||||
44 | 2C | , | 76 | L | 108 | l | ||||
45 | 2D | - | 77 | M | 109 | m | ||||
46 | 2E | . | 78 | 4F | N | 110 | n | |||
47 | 2F | / | 79 | 5F | O | 111 | 6F | o | ||
48 | 30 | 0 | 80 | 50 | P | 112 | 70 | p | ||
49 | 1 | 81 | 51 | Q | 113 | q | ||||
50 | 2 | 82 | 52 | R | 114 | r | ||||
51 | 3 | 83 | 53 | S | 115 | s | ||||
52 | 4 | 84 | 54 | T | 116 | t | ||||
53 | 5 | 85 | 55 | U | 117 | u | ||||
54 | 6 | 86 | 56 | V | 118 | v | ||||
55 | 7 | 87 | 57 | w | 119 | w | ||||
56 | 8 | 88 | 58 | X | 120 | x | ||||
57 | 9 | 89 | 59 | Y | 121 | y | ||||
58 | : | 90 | 5A | Z | 122 | z | ||||
59 | ; | 91 | 5B | [ | 123 | { | ||||
60 | < | 92 | 5C | \ | 124 | | | ||||
61 | = | 93 | 5D | ] | 125 | } | ||||
62 | > | 94 | 5E | ^ | 126 | ~ | ||||
63 | 3F | ? | 95 | 5F | _ | 127 | 70 | DEL |
计算机发明后,为了在计算机中表示字符,人们制定了一种编码,叫ASCII码。ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个字符。他们以为这128个数字就足够表示abcd....ABCD....1234 这些字符了。
咳......说英语的人就是“笨”!后来他们突然发现,如果需要按照表格方式打印这些字符的时候,缺少了“制表符”。于是又扩展了ASCII的定义,使用一个字节的全部8位(bit)来表示字符了,这就叫扩展ASCII码。范围是0x00 - 0xFF 共256个字符。
咳......说中文的人就是聪明!中国人利用连续2个扩展ASCII码的扩展区域(0xA0以后)来表示一个汉字,该方法的标准叫GB-2312。后来,日文、韩文、阿拉伯文、台湾繁体(BIG-5)......都使用类似的方法扩展了本地字符集的定义,现在统一称为 MBCS 字符集(多字节字符集)。这个方法是有缺陷的,因为各个国家地区定义的字符集有交集,因此使用GB-2312的软件,就不能在BIG-5的环境下运行(显示乱码),反之亦然。
咳......说英语的人终于变“聪明”一些了。为了把全世界人民所有的所有的文字符号都统一进行编码,于是制定了UNICODE标准字符集。UNICODE 使用2个字节表示一个字符(unsigned shor int、WCHAR、_wchar_t、OLECHAR)。这下终于好啦,全世界任何一个地区的软件,可以不用修改地就能在另一个地区运行了。虽然我用 IE 浏览日本网站,显示出我不认识的日文文字,但至少不会是乱码了。UNICODE 的范围是 0x0000 - 0xFFFF 共6万多个字符,其中光汉字就占用了4万多个。嘿嘿,中国人赚大发了:0)