python3編碼問題

2021-09-12 01:29:45 字數 817 閱讀 4147

"""編碼問題

在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...