小編給大家分享一下python3字符編碼如何使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、鄂倫春網(wǎng)站維護、網(wǎng)站推廣。編碼介紹
在人類社會,不同國家有不同的標準語法,簡體漢語、繁體漢語、美式英語、英式英語等.....
但是機器保存數(shù)據(jù)是以一種特殊的方式來保存,讀取的時候也是以同樣的方式來解讀。
在Python3當中,默認處理中文的方式叫UTF-8。【對比出傷害:UTF-8支持中文,Python2默認格式是ASCII,不支持中文】
同樣的一個中文詞語,例如:"中國",經(jīng)過UFT-8方法轉(zhuǎn)存到硬盤中,比如保存成了"110",再通過UFT-8方法讀取,也是顯示"中國";通過另一種方法轉(zhuǎn)存到硬盤中,"中國"則會保存成"101",然后通過UTF-8讀取,肯定不會顯示成"中國",也許就是一個亂七八糟的亂碼"燙燙燙燙燙燙燙燙燙";
雖然上面的110、119、燙燙燙是亂填的,下面示例代碼中有具體值,總之一個:想要顯示正常,讀取數(shù)據(jù)時格式,必須和保存數(shù)據(jù)時使用的一致。
閑扯幾句——Python2 字符串設(shè)計上的一些缺陷:
使用ASCII 碼作為默認編碼方式,對中文處理很不友好。
把字符串牽強地分為 unicode 和 str 兩種類型,誤導(dǎo)開發(fā)者
以上提及的兩個問題,Python3都很好的解決了
首先,Python3 把系統(tǒng)默認編碼設(shè)置為 UTF-8
然后,文本字符和二進制數(shù)據(jù)區(qū)分得更清晰,分別用 str 和 bytes 表示。
代碼示例:
import sys, locale s = "小甲" print(s) print(type(s)) print(sys.getdefaultencoding()) print(locale.getdefaultlocale()) with open("utf1","w",encoding = "utf-8") as f: f.write(s) with open("gbk1","w",encoding = "gbk") as f: f.write(s) with open("jis1","w",encoding = "shift-jis") as f: f.write(s)
代碼很簡單,學(xué)過Python的人應(yīng)該都能看懂是啥意思~~
我們看一下運行結(jié)果:
小甲 <class 'str'> utf-8 ('en_US', 'UTF-8')
正如大家所想, 就是將“小甲”原樣打印出來, 再把“小甲”存到3個文件中。
(shift-jis是日文編碼格式)
這里解釋一下打印出來的兩個“utf-8”是什么意思:
上面的 utf-8 指:系統(tǒng)默認編碼
注: 不要把系統(tǒng)以為是操作系統(tǒng),這里可以理解成python3的編譯器本身
下面的 utf-8 指:本地默認編碼
注: 這個才是操作系統(tǒng)的編碼。(在Windows運行會變成gbk)
以上是python3字符編碼如何使用的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:python3字符編碼如何使用-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://vcdvsql.cn/article36/csihsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站策劃、靜態(tài)網(wǎng)站、網(wǎng)站制作、建站公司、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容