(Python)文本和字節序列

Python3中的字符串是Unicode字符串而不是字節數組

用\u及4個十六進制的數字可以從Unicode256個基本多語言平面中指定某一特定字符。
Python爲此而設定的轉義序列以\u開頭,後面緊跟8個十六進制的數字,其中最左一位需位0

  • 使用UTF-8編碼和解碼

對字符串進行處理時,並不需要在意Python中的Unicode字符的存儲細節,我們只需要完成兩件事情
1.將字符串編碼爲字節;
2.將字節解碼爲字符串

  • 編碼

是將字符串轉化爲一系列字節的過程。字符串的encode()函數將unicode編碼轉換成其他編碼的字符串,如str2.encode(‘gb2312’),表示將unicode編碼的字符串str2轉換成gb2312編碼。

a='u\1204'
print(type(a))
print(type(a.encode('utf8')))
print(a.encode('utf8'))
<class 'str'>
<class 'bytes'>
b'uP4'
將u轉換爲b
  • 解碼 從外界文本源(文件、數據庫、網站、網絡API)獲得所有文本都是經過編碼的字符串。我們只要解碼就可以。

解碼是將字節序列轉化爲U你從的字符串decode(解碼)的作用是將其他編碼的字符串轉換成unicode編碼,如str1.decode(‘gb2312’),表示將gb2312編碼的字符串str1轉換成unicode編碼。

print(type(a.encode('utf8').decode('utf8')))
<class 'str'>
print(a.encode('utf8').decode('utf8'))
uP4

編碼->解碼=u>b>正常可見字符

注意:
保存進txt文件即其餘都要用u或者字符串 不能用b會報錯誤



個人理解,如有錯誤歡迎指出

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