ASCII

ASCII（，，-{zh-cn:美国信息交换标准代码;zh-tw:美國標準資訊交換碼}-）是基于拉丁字母的一套电脑字符编码标准。它主要用于显示现代英语，而其擴展版本延伸美国标准信息交换码則可以部分支持其他西欧语言，并等同于国际标准ISO/IEC 646。

ASCII是这套编码标准的传统命名，互联网号码分配局现在更倾向于使用它的新名字。

ASCII是美國電氣和電子工程師協會里程碑之一。

ASCII由电报码发展而来。第一版标准发布于1963年，1967年经历了一次主要修订，最後一次更新則是在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，都可用代表脫出字元，輸入想要的ASCII控制字元。例如想輸入空字符，就要輸入+，而非，後者會顯示成兩字元，前者只會顯示成一字元。
+ ASCII控制字符（共33个） 二进制 十进制 十六进制 缩写 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 回车符 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可显示字符（共95个） 
 二进制 十进制 十六进制 图形 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  ~

 缺點 
ASCII的局限在於只能顯示26個基本拉丁字母、阿拉伯數字和英式標點符號，因此只能用於顯示現代美國英語（且處理naïve、café、élite等外來語時，必須去除附加符號）。雖然EASCII解決了部分西歐語言的顯示問題，但對更多其他語言依然無能為力。因此，現在的软件系统大多采用Unicode，特别是与ASCII向下兼容的UTF-8。

 参见 
 EASCII（Extended ASCII）
 EBCDIC
 ISO/IEC 646
 ISO/IEC 8859
 控制字符
 基本拉丁字母 (Unicode區段)
 ASCII艺术
 ASCII絲帶行動

参考资料


Category:字符集
Category:字首縮寫