ascii 碼是乙個位元組,通常只能顯示英文本母和數字。 unicode碼為了顯示多種語言產生,但是要占用兩個位元組,顯示文字要占用大量空間 utf-8 為了節約空間而生,英文本元只用乙個位元組儲存,中文字元需要三個位元組
character
ascii
unicode
utf-8
a010000001
00000000 01000001
0100000001中x
01001110 00101101
11100100 10111000 10101101
>>> u"空間"u'\u7a7a\u95f4'
>>> "空間"
'\xe7\xa9\xba\xe9\x97\xb4'
>>> "空間".decode('utf-8')
u'\u7a7a\u95f4'
>>> print "空間".decode('utf-8').encode('gb2312')
\227ռ\344
>>> print "空間".encode('gb2312')
traceback (most recent call last):
file "", line 1, in unicodedecodeerror: 'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)
>>>
python字元編碼
列印python檔案編碼 import sys print sys.getdefaultencoding 中文的乙個字元unicode占用2個位元組。對在於ascii字元占用1個位元組 utf 8中 中文字元佔3個位元組,英文本元占用1個位元組 編碼和轉碼 unicode不能再解碼了 它是基層的 u...
Python字元編碼
在用python程式設計中,字串有兩種表示方法 string 和 u string 為什麼字串要是用這兩種表達方式。不是僅僅用前一種呢?使用type 函式檢視,它們各自是str物件和unicode物件。這兩個物件有什麼差別嗎?還有經經常使用到的encode 和decode 又是幹什麼的呢?都說pyt...
Python字元編碼
計算機只能處理數字,如果要處理文字,必須先把文字轉化成數字。計算機最早是美國人發明的,所以只有127個字元被編碼到計算機裡面,即大小寫英文本母 數字及一些符號,這個編碼表被稱為ascll表。其中 a 的編碼是65,a 的編碼是97。大本事處理中文乙個位元組是不夠的,至少需要兩個位元組,為了不與asc...