ASCII
此条目需要补充更多来源。 (2018年9月9日) |
ASCII(发音: /ˈæski/ ASS-kee[1],American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑字符编码标准。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。
美国信息交换标准代码是这套编码标准的传统命名,互联网号码分配局现在更倾向于使用它的新名字US-ASCII[2]。
美国信息交换标准代码是美国电气和电子工程师协会里程碑之一。
ASCII 由电报码发展而来。第一版标准发布于1963年[3][4],1967年经历了一次主要修订[5][6],最后一次更新则是在1986年,至今为止共定义了128个字符;其中33个字符无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符。控制字符的用途主要是用来操控已经处理过的文字。在33个字符之外的是95个可显示的字符。用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。
技术背景
在计算机中,所有的数据在存储和运算时都要使用二进制数表示。例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,这就是编码。如果不同的计算机要想互相通信而不造成混乱,那么每台计算机就必须使用相同的编码规则,于是美国有关的标准化组织就推出了ASCII编码。
ASCII是由美国国家标准学会(American National Standard Institute,ANSI)制定的,使用标准的单字节字符编码方案,用于基于文本的数据。方案起始于50年代后期,在1967年定案。它最初是美国的标准,供不同计算机在相互通信时需共同遵守的西文字符编码标准。现已被国际标准化组织(International Organization for Standardization,ISO)定为国际标准(ISO/IEC 646),适用于所有拉丁字母。
控制字符
ASCII控制字符的编号范围是0-31和127(16进制:0x00-0x1F和0x7F),共33个字符。
为方便人类用户阅读,各个控制字符均有Unicode表示法和脱出字符表示法:
- Unicode表示法:当想在画面或纸上表示这些控制字符时,就会显示成这个样子。过于老旧的系统或浏览器可能会看不到。使用微软任一中文输入法,输入`U2400即可看到␀,输入`U2401可看到␁,依此类推。
- 脱出字符表示法:通常用于终端连线(例如Telnet通信协议),以脱出字符^开头,再接一个符号,用来让这些控制字符得以在画面上显现。虽然看起来是两个字符,但在终端上实际只有一个字符。在绝大部分的终端系统中,包括Windows的命令提示字符(cmd.exe)、Linux和FreeBSD,都可用Ctrl代表脱出字符,输入想要的ASCII控制字符。例如想输入空字符,就要输入Ctrl+2,而非^@,后者会显示成两字符,前者只会显示成一字符。
二进制 | 十进制 | 十六进制 | 缩写 | Unicode 表示法 |
脱出字符 表示法 |
名称/意义 |
---|---|---|---|---|---|---|
0000 0000 | 0 | 00 | NUL | ␀ | ^@ | 空字符(Null) |
0000 0001 | 1 | 01 | SOH | ␁ | ^A | 标题开始 |
0000 0010 | 2 | 02 | STX | ␂ | ^B | 本文开始 |
0000 0011 | 3 | 03 | ETX | ␃ | ^C | 本文结束 |
0000 0100 | 4 | 04 | EOT | ␄ | ^D | 传输结束 |
0000 0101 | 5 | 05 | ENQ | ␅ | ^E | 请求 |
0000 0110 | 6 | 06 | ACK | ␆ | ^F | 确认回应 |
0000 0111 | 7 | 07 | BEL | ␇ | ^G | 响铃 |
0000 1000 | 8 | 08 | BS | ␈ | ^H | 退格 |
0000 1001 | 9 | 09 | HT | ␉ | ^I | 水平定位符号 |
0000 1010 | 10 | 0A | LF | ␊ | ^J | 换行键 |
0000 1011 | 11 | 0B | VT | ␋ | ^K | 垂直定位符号 |
0000 1100 | 12 | 0C | FF | ␌ | ^L | 换页键 |
0000 1101 | 13 | 0D | CR | ␍ | ^M | CR (字符) |
0000 1110 | 14 | 0E | SO | ␎ | ^N | 取消变换(Shift out) |
0000 1111 | 15 | 0F | SI | ␏ | ^O | 启用变换(Shift in) |
0001 0000 | 16 | 10 | DLE | ␐ | ^P | 跳出数据通讯 |
0001 0001 | 17 | 11 | DC1 | ␑ | ^Q | 设备控制一(XON 激活软件速度控制) |
0001 0010 | 18 | 12 | DC2 | ␒ | ^R | 设备控制二 |
0001 0011 | 19 | 13 | DC3 | ␓ | ^S | 设备控制三(XOFF 停用软件速度控制) |
0001 0100 | 20 | 14 | DC4 | ␔ | ^T | 设备控制四 |
0001 0101 | 21 | 15 | NAK | ␕ | ^U | 确认失败回应 |
0001 0110 | 22 | 16 | SYN | ␖ | ^V | 同步用暂停 |
0001 0111 | 23 | 17 | ETB | ␗ | ^W | 区块传输结束 |
0001 1000 | 24 | 18 | CAN | ␘ | ^X | 取消 |
0001 1001 | 25 | 19 | EM | ␙ | ^Y | 连线介质中断 |
0001 1010 | 26 | 1A | SUB | ␚ | ^Z | 替换 |
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字符 |
可显示字符
可显示字符也称为可打印字符,其编号范围是32-126(0x20-0x7E),共95个字符。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
|
|
|
缺点
ASCII的局限在于只能显示26个基本拉丁字母、阿拉伯数字和英式标点符号,因此只能用于显示现代美国英语(且处理naïve、café、élite等外来语时,必须去除附加符号)。虽然EASCII解决了部分西欧语言的显示问题,但对更多其他语言依然无能为力。因此,现在的软件系统大多采用Unicode,特别是与ASCII向下兼容的UTF-8。
参见
- EASCII(Extended ASCII)
- EBCDIC
- ISO/IEC 646
- ISO/IEC 8859
- 控制字符
- ASCII艺术
- ASCII丝带行动
参考资料
- ^ ASCII的口语发音 (页面存档备份,存于互联网档案馆). Merriam Webster. Accessed 2008-04-14.
- ^ Internet Assigned Numbers Authority (IANA) (May 14, 2007). "Character Sets (页面存档备份,存于互联网档案馆)". Accessed 2008-04-14.
- ^ Brandel, Mary. 1963: The Debut of ASCII. CNN. July 6, 1999 [2008-04-14]. (原始内容存档于2013-06-17).
- ^ American Standard Code for Information Interchange, ASA X3.4-1963. American Standards Association (ASA). 1963-06-17 [2018-09-28]. (原始内容存档于2018-09-28).
- ^ USA Standard Code for Information Interchange, USAS X3.4-1967. United States of America Standards Institute (USASI). July 7, 1967.
- ^ Jennings, Thomas Daniel. An annotated history of some character codes or ASCII: American Standard Code for Information Infiltration. World Power Systems (WPS). 2016-04-20 [1999] [2018-09-28]. (原始内容存档于2018-09-28).