在計算機發展的早期,ASCII(1963年)主要用於定位英語字符與二進制位之間的關係,是現今最通用的單字節編碼系統,後逐漸成爲標準。可是由於成爲標準,每一個國家的字符都不同,因此有不少的侷限性,所以後來出現了Unicode編碼。函數
而且咱們要知道,在計算機中全部數據,不管是文字、圖片、視頻、仍是音頻文件,本質上最終都是按照相似 01010101 的二進制存儲的。每個二進制位(bit)有0和1兩種狀態(高低電平的狀態,八個電平表示一組),所以八個二進制位就能夠組合出256種狀態,這被稱爲一個字節(byte)。也就是說,一個字節一共能夠用來表示256種不一樣的狀態,每個狀態對應一個符號,就是256個符號,從0000000到11111111。編碼
ASCII碼劃分爲兩個集合:128個字符的標準ASCII碼和附加的128個字符的擴充和ASCII碼。其中96個字符能夠顯示。另外32個爲控制字符不能夠顯示。spa
標準ASCII碼爲7位,擴充爲8位,國際通用的是7位版。code
7位二進制就是0000000~1111111,最小0,最大127,共128個。orm
8位二進制就是00000000~11111111,最小0,最大255,共256個。視頻
0~31及127(共32個)是控制字符或通訊專用字符(其他爲可顯示字符),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;通訊專用字符:SOH(文頭)、EOT(文尾)、ACK(確認)等;ASCII值爲八、九、10 和13 分別轉換爲退格、製表、換行和回車字符。它們並無特定的圖形顯示,但會依不一樣的應用程序,而對文本顯示有不一樣的影響。圖片
32~126(共96個)是字符(32是空格),其中48~57爲0到9十個阿拉伯數字。ci
65~90爲26個大寫英文字母,97~122號爲26個小寫英文字母,其他爲一些標點符號、運算符號等。it
(一個ASCII編碼使用一個字節(除去字節的最高位做爲做奇偶校驗位))io
好比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/