代碼實(shí)例講解python3的編碼問(wèn)題
python3的編碼問(wèn)題。
打開(kāi)python開(kāi)發(fā)工具IDLE,新建‘codetest.py'文件,并寫(xiě)代碼如下:
import sys print (sys.getdefaultencoding())
F5運(yùn)行程序,打印出系統(tǒng)默認(rèn)編碼方式
將字符串從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() ,因?yàn)橄到y(tǒng)默認(rèn)編碼方式就是utf-8
F5運(yùn)行程序,打印出內(nèi)容如下,中文必須用utf-8編碼,因?yàn)閍scii碼表示不了所有漢字,這里暫時(shí)不介紹gbk編碼,現(xiàn)在用得很少了,utf-8使用3個(gè)字節(jié)表示一個(gè)漢字,ascii使用一個(gè)字節(jié)表示一個(gè)英文字母或字符。
解碼就是從bytes變回str的過(guò)程,修改代碼如下:
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運(yùn)行程序,打印內(nèi)容如下圖,bytes轉(zhuǎn)回str
utf-8編碼兼容ascii,當(dāng)既有中文又有英文時(shí)使用encode('utf-8'),英文還是占一個(gè)字節(jié),中國(guó)三個(gè)字節(jié),另外當(dāng)py文件注釋有中文時(shí),需要在頭部添加
#coding:utf-8
相關(guān)文章
Python面向?qū)ο笾^承和組合用法實(shí)例分析
這篇文章主要介紹了Python面向?qū)ο笾^承和組合用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中組合與繼承的相關(guān)原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-08-08詳解python列表(list)的使用技巧及高級(jí)操作
這篇文章主要介紹了詳解python列表(list)的使用技巧及高級(jí)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python 文本滾動(dòng)播放器的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python 文本滾動(dòng)播放器的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04pd.DataFrame中的幾種索引變換的實(shí)現(xiàn)
本文主要介紹了pd.DataFrame中的幾種索引變換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python的Matplotlib庫(kù)圖像復(fù)現(xiàn)學(xué)習(xí)
這篇文章主要給大家介紹了關(guān)于如何利用Matplotlib庫(kù)圖像復(fù)現(xiàn),matplotlib模塊提供了很高級(jí)和非常友好的使用方式,使用起來(lái)也是非常方便的,需要的朋友可以參考下2021-08-08使用Python三角函數(shù)公式計(jì)算三角形的夾角案例
這篇文章主要介紹了使用Python三角函數(shù)公式計(jì)算三角形的夾角案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04