1. 程式人生 > >ASCII編碼 美國信息互換標準代碼

ASCII編碼 美國信息互換標準代碼

控制 left 字符編碼 早期 圖形 就是 文字 我們 最小

ASCII編碼 (American Standard Code for Information Interchange) 美國信息互換標準代碼

在計算機發展的早期,ASCII(1963年)主要用於定位英語字符與二進制位之間的關系,是現今最通用的單字節編碼系統,後逐漸成為標準。但是因為成為標準,每個國家的字符都不一樣,所以有很多的局限性,因此後來出現了Unicode編碼。


並且我們要知道,在計算機中所有數據,不論是文字、圖片、視頻、還是音頻文件,本質上最終都是按照類似 01010101 的二進制存儲的。每一個二進制位(bit)有0和1兩種狀態(高低電平的狀態,八個電平表示一組),因此八個二進制位就可以組合出256種狀態,這被稱為一個字節(byte)。也就是說,一個字節一共可以用來表示256種不同的狀態,每一個狀態對應一個符號,就是256個符號,從0000000到11111111。

ASCII碼劃分為兩個集合:128個字符的標準ASCII碼和附加的128個字符的擴充和ASCII碼。其中96個字符可以顯示。另外32個為控制字符不可以顯示。

標準ASCII碼為7位,擴充為8位,國際通用的是7位版。

7位二進制就是0000000~1111111,最小0,最大127,共128個。

8位二進制就是00000000~11111111,最小0,最大255,共256個。

    0~31及127(共32個)是控制字符或通信專用字符(其余為可顯示字符),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;通信專用字符:SOH(文頭)、EOT(文尾)、ACK(確認)等;ASCII值為8、9、10 和13 分別轉換為退格、制表、換行和回車字符。它們並沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。

    32~126(共96個)是字符(32是空格),其中48~57為0到9十個阿拉伯數字。

    65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其余為一些標點符號、運算符號等。

    (一個ASCII編碼使用一個字節(除去字節的最高位作為作奇偶校驗位))

      比如ASCII編碼中的01000001(即十進制的65)表示字符‘A‘,01000001加上32之後的01100001(即十進制的97)表示字符‘a‘。調用chr和ord函數,我們可以看到Python為我們對ASCII編碼進行了轉換。

>>> chr(65)
‘A‘
>>>ord(‘A‘)
65
>>>ord(‘a‘)
97

字符編碼對照表:http://ascii.911cha.com/

      

ASCII編碼 美國信息互換標準代碼