python bytes和str轉換

bytes 轉換爲 str

str(b, encoding = "utf-8")  

str(b, encoding = "gbk")  

encoding中寫的是原來byte變量的編碼  什麼類型的編碼的字節就要轉換成什麼類型的編碼的字符串

通過

import chardet
ret = chardet.detect(變量)

可以查看原有變量的編碼類型enncoding

或者通過decode解碼,但是可能會出錯。推薦如上

string=b.decode() # 第一參數默認utf8,第二參數默認strict
print(string)


string=b.decode('utf-8','ignore') # 忽略非法字符,用strict會拋出異常
print(string)


string=b.decode('utf-8','replace') # 用?取代非法字符
print(string)

 

str 轉換爲 bytes


b=bytes(str1, encoding='utf-8')
print(b)


b=str1.encode('utf-8')
print(b)

str沒有decode方法,如果調用str.decode會報錯

AttributeError: 'str' object has no attribute 'decode'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章