代碼實例講解python3的編碼問題
python3的編碼問題。
打開python開發(fā)工具IDLE,新建‘codetest.py'文件,并寫代碼如下:
import sys print (sys.getdefaultencoding())

F5運行程序,打印出系統(tǒng)默認編碼方式

將字符串從str格式編碼程bytes格式,修改代碼如下:
import sys
print (sys.getdefaultencoding())
s = '你好'
print (type(s))
b = s.encode('utf-8')
print (type(b))
print (b)
其中b = s.encode('utf-8') 等同于b = s.encode() ,因為系統(tǒng)默認編碼方式就是utf-8

F5運行程序,打印出內(nèi)容如下,中文必須用utf-8編碼,因為ascii碼表示不了所有漢字,這里暫時不介紹gbk編碼,現(xiàn)在用得很少了,utf-8使用3個字節(jié)表示一個漢字,ascii使用一個字節(jié)表示一個英文字母或字符。

解碼就是從bytes變回str的過程,修改代碼如下:
import sys
print (sys.getdefaultencoding())
s = '你好'
print (type(s))
b = s.encode('utf-8')
print (type(b))
print (b)
se = b.decode('utf-8')
print (se)
print (type(se))

F5運行程序,打印內(nèi)容如下圖,bytes轉(zhuǎn)回str

utf-8編碼兼容ascii,當既有中文又有英文時使用encode('utf-8'),英文還是占一個字節(jié),中國三個字節(jié),另外當py文件注釋有中文時,需要在頭部添加
#coding:utf-8

相關文章
舉例講解Python的lambda語句聲明匿名函數(shù)的用法
匿名函數(shù)現(xiàn)在已經(jīng)成了各大編程語言爭相標配的熱門特性,無需用函數(shù)名來定義函數(shù)的方式在很多場合下書寫起來十分炫酷,這里我們就來舉例講解Python的lambda語句聲明匿名函數(shù)的用法2016-07-07
Python實現(xiàn)修改文件內(nèi)容的方法分析
這篇文章主要介紹了Python實現(xiàn)修改文件內(nèi)容的方法,結(jié)合實例形式分析了Python文件讀寫、字符串替換及shell方法調(diào)用等相關操作技巧,需要的朋友可以參考下2018-03-03
pytorch::Dataloader中的迭代器和生成器應用詳解
這篇文章主要介紹了pytorch::Dataloader中的迭代器和生成器應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01

