字節(byte)
字節是通過網絡傳輸信息(或在硬盤或內存中存儲信息)的基本單位。字節是計算機信息技術用於計量存儲容量和傳輸容量的一種計量單位,1個字節等於8位二進制,它是一個8位的二進制數,是一個很具體的存儲空間。
字符
人們使用的記號,抽象意義上的一個符號。比如鍵盤上敲出的數字、字母、各種符號........ '1', '中', 'a', '$', '¥', ……
字符要通過編碼才能被計算機認識,計算機只認識高(1)低(0)電平:101011100000醬紫的,so,只有最終被解釋為1010001011的二進制才能被計算機識別
字符------->編碼----------->010101010010000000000
這個過程,其實就是一個字符怎么對應一段特定的數字的標准,這個標准也叫作編碼標准
總結:ASCII,一個Bytes代表一個字符(英文字符/鍵盤上的所有其他字符),1Bytes=8bit,8bit可以表示0-2**8-1種變化,即可以表示256個字符,ASCII最初只用了后七位,127個數字,已經完全能夠代表鍵盤上所有的字符了(英文字符/鍵盤的所有其他字符),后來為了將拉丁文也編碼進了ASCII表,將最高位也占用了。
即:AXCII采用8bit(1字節)存放字符
Unilde采用16bit(2字節)存在字符
ANSI以單字節存放英文字符以雙字節存放中文等字符,而Unicode下,英文和中文的字符都以雙字節存放
這兩個是不能兼容的
我們可以簡單的記這樣一個結論:按照ANSI編碼標准,標點符號、數字、大小寫字母都占一個字節,漢字占2個字節。按照UNICODE標准所有字符都占2個字節。
1、文件是以什么方式編碼的,就會以什么方式打開
如果不在python文件指定頭信息#-*-coding:utf-8-*-,那就使用默認的python2中默認使用ascii,python3中默認使用utf-8