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).