"""編碼問題在python3中只有兩種資料型別
1、str:編碼形式是unicode,unicode任一字元編碼都存在
2、bytes:編碼形式是十六進製制
"""#編碼encoding
#utf, gbk都只是一種編碼規則,按照各自的規則進行編碼,可以存在多種編碼規則
s = 'hello中國' #在記憶體中是以unicode編碼儲存的,這是unicode編碼
#str--->>>bytes 這個叫做編碼
b1 = s.encode('utf8')
print(b1) # b'hello\xe4\xb8\xad\xe5\x9b\xbd' 用三個十六進製制數字表示乙個中文字元,這裡hello對應acssi碼
b2 = bytes(s, 'utf8')
print(b2) # b'hello\xe4\xb8\xad\xe5\x9b\xbd' 用三個十六進製制數字表示乙個中文字元,這裡hello對應acssi碼
b3 = s.encode('gbk')
print(b3) #b'hello\xd6\xd0\xb9\xfa' 用兩個十六進製制數字表示乙個中文字元
#bytes --->>>str 這個叫做解碼
s1 = str(b1, 'utf-8')
print(s1) #hello中國
s2 = b2.decode('utf-8')
print(s1) #hello中國
s3 = str(b3, 'gbk')
print(s3) #hello中國
#總結:按照什麼進行編碼就按什麼規則進行解碼
Python3編碼問題
python3最重要的進步之一就是解決了python2中字串與字元編碼的問題。python2字串的缺陷如下 而python3則把系統預設編碼設定為了 utf 8 import sys sys.getdefaultencoding utf 8 之後,文字字元和二進位制資料分別用str和bytes表示。...
python3 編碼問題
asci 碼 8 位unicode 至少兩個位元組 utf 8 為了傳輸而設計的編碼方式 用於網路傳輸 或者儲存 python2 使用ascii編碼,不支援中文 python3 使用utf 8 編碼.文字字元和二進位制資料區分得更清晰,分別用 str 和bytes 表示。文字字元全部用 str 型別...
python3編碼宣告 python3編碼問題彙總
這兩天寫了個監測網頁的爬蟲,作用是跟蹤乙個網頁的變化,但執行了一晚出現了乙個問題。希望大家不吝賜教!我用的是python3,錯誤在對html response的decode時丟擲,原樣為 response urllib.urlopen dsturl content response.read dec...