您好,登錄后才能下訂單哦!
小編給大家分享一下python3字符編碼如何使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
編碼介紹
在人類社會,不同國家有不同的標準語法,簡體漢語、繁體漢語、美式英語、英式英語等.....
但是機器保存數據是以一種特殊的方式來保存,讀取的時候也是以同樣的方式來解讀。
在Python3當中,默認處理中文的方式叫UTF-8。【對比出傷害:UTF-8支持中文,Python2默認格式是ASCII,不支持中文】
同樣的一個中文詞語,例如:"中國",經過UFT-8方法轉存到硬盤中,比如保存成了"110",再通過UFT-8方法讀取,也是顯示"中國";通過另一種方法轉存到硬盤中,"中國"則會保存成"101",然后通過UTF-8讀取,肯定不會顯示成"中國",也許就是一個亂七八糟的亂碼"燙燙燙燙燙燙燙燙燙";
雖然上面的110、119、燙燙燙是亂填的,下面示例代碼中有具體值,總之一個:想要顯示正常,讀取數據時格式,必須和保存數據時使用的一致。
閑扯幾句——Python2 字符串設計上的一些缺陷:
使用ASCII 碼作為默認編碼方式,對中文處理很不友好。
把字符串牽強地分為 unicode 和 str 兩種類型,誤導開發者
以上提及的兩個問題,Python3都很好的解決了
首先,Python3 把系統默認編碼設置為 UTF-8
然后,文本字符和二進制數據區分得更清晰,分別用 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)
代碼很簡單,學過Python的人應該都能看懂是啥意思~~
我們看一下運行結果:
小甲 <class 'str'> utf-8 ('en_US', 'UTF-8')
正如大家所想, 就是將“小甲”原樣打印出來, 再把“小甲”存到3個文件中。
(shift-jis是日文編碼格式)
這里解釋一下打印出來的兩個“utf-8”是什么意思:
上面的 utf-8 指:系統默認編碼
注: 不要把系統以為是操作系統,這里可以理解成python3的編譯器本身
下面的 utf-8 指:本地默認編碼
注: 這個才是操作系統的編碼。(在Windows運行會變成gbk)
以上是python3字符編碼如何使用的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。