python3字符編碼如何使用

小編給大家分享一下python3字符編碼如何使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)是專業(yè)的黑龍江網(wǎng)站建設(shè)公司,黑龍江接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行黑龍江網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

編碼介紹

在人類社會(huì),不同國(guó)家有不同的標(biāo)準(zhǔn)語(yǔ)法,簡(jiǎn)體漢語(yǔ)、繁體漢語(yǔ)、美式英語(yǔ)、英式英語(yǔ)等.....

但是機(jī)器保存數(shù)據(jù)是以一種特殊的方式來(lái)保存,讀取的時(shí)候也是以同樣的方式來(lái)解讀。

在Python3當(dāng)中,默認(rèn)處理中文的方式叫UTF-8?!緦?duì)比出傷害:UTF-8支持中文,Python2默認(rèn)格式是ASCII,不支持中文】

同樣的一個(gè)中文詞語(yǔ),例如:"中國(guó)",經(jīng)過(guò)UFT-8方法轉(zhuǎn)存到硬盤中,比如保存成了"110",再通過(guò)UFT-8方法讀取,也是顯示"中國(guó)";通過(guò)另一種方法轉(zhuǎn)存到硬盤中,"中國(guó)"則會(huì)保存成"101",然后通過(guò)UTF-8讀取,肯定不會(huì)顯示成"中國(guó)",也許就是一個(gè)亂七八糟的亂碼"燙燙燙燙燙燙燙燙燙";

雖然上面的110、119、燙燙燙是亂填的,下面示例代碼中有具體值,總之一個(gè):想要顯示正常,讀取數(shù)據(jù)時(shí)格式,必須和保存數(shù)據(jù)時(shí)使用的一致。

 

閑扯幾句——Python2 字符串設(shè)計(jì)上的一些缺陷:

使用ASCII 碼作為默認(rèn)編碼方式,對(duì)中文處理很不友好。

 把字符串牽強(qiáng)地分為 unicode和str兩種類型,誤導(dǎo)開發(fā)者

 以上提及的兩個(gè)問題,Python3都很好的解決了

首先,Python3 把系統(tǒng)默認(rèn)編碼設(shè)置為UTF-8

然后,文本字符和二進(jìn)制數(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)

 

代碼很簡(jiǎn)單,學(xué)過(guò)Python的人應(yīng)該都能看懂是啥意思~~

我們看一下運(yùn)行結(jié)果:

小甲
<class 'str'>
utf-8
('en_US', 'UTF-8')

正如大家所想, 就是將“小甲”原樣打印出來(lái), 再把“小甲”存到3個(gè)文件中。

(shift-jis是日文編碼格式)

 這里解釋一下打印出來(lái)的兩個(gè)“utf-8”是什么意思:

上面的 utf-8 指:系統(tǒng)默認(rèn)編碼

注: 不要把系統(tǒng)以為是操作系統(tǒng),這里可以理解成python3的編譯器本身

下面的 utf-8 指:本地默認(rèn)編碼 

注: 這個(gè)才是操作系統(tǒng)的編碼。(在Windows運(yùn)行會(huì)變成gbk)

以上是python3字符編碼如何使用的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱欄目:python3字符編碼如何使用
本文地址:http://bm7419.com/article16/ijhigg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序服務(wù)器托管、網(wǎng)站內(nèi)鏈網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)