1. 程式人生 > >python開發中編碼相關問題

python開發中編碼相關問題

bsp 存儲 統一 pytho 文字 CI 計算 python nio

Python2的解釋器默認以 ascii碼的編碼方式進行編碼,由於ASCII碼只占一個字節126個包含英文和特殊字符,不能正常解碼,所有要在文件開頭聲明編碼方法‘# codeing:utf-8’

python2中的 str是以byte類型存儲的

python3中解釋器默認以utf-8的編碼方式進行編碼和解碼,所有不存在中文編碼錯誤

len(‘ab‘) >> 2

len(‘‘中國‘‘) >> 2

str類型在以字符個數計算

len(‘ab‘.encode(‘utf-8‘)) >> 2

len(‘中文‘.encode(‘utf-8‘)) >> 3

ascii 編碼只解決了英文編碼問題

unioncode 解決了全球文字統一編碼問題,但是所有字符都占有四個字節

utf-8 為了節省空間,而且保留之前ascii編碼的文件系統設計的一種變長的編碼規則,英文和特殊字符繼續保持ascii編碼占一個字符,中文在utf-8編碼中一個文字占有三個字節

python開發中編碼相關問題