新聞中心
最近一直講的是python基礎(chǔ)方面的知識,小編一直在考慮要不要加大難度。這個(gè)問題猶豫了很久,怕一些python小白不能很好的接受知識點(diǎn)。但是最近小編收到不少小伙伴的強(qiáng)烈要求,想要學(xué)習(xí)編碼這個(gè)模塊的知識。小編對大家向來是有求必應(yīng),馬上就給大家安排上了python字符編碼相關(guān)的知識,接下來一起看看能不能學(xué)會吧。

成都創(chuàng)新互聯(lián)是專業(yè)的雁塔網(wǎng)站建設(shè)公司,雁塔接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雁塔網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
編碼介紹
在人類社會,不同國家有不同的標(biāo)準(zhǔn)語法,簡體漢語、繁體漢語、美式英語、英式英語等.....
但是機(jī)器保存數(shù)據(jù)是以一種特殊的方式來保存,讀取的時(shí)候也是以同樣的方式來解讀。
在Python3當(dāng)中,默認(rèn)處理中文的方式叫UTF-8?!緦Ρ瘸鰝Γ篣TF-8支持中文,Python2默認(rèn)格式是ASCII,不支持中文】
同樣的一個(gè)中文詞語,例如:"中國",經(jīng)過UFT-8方法轉(zhuǎn)存到硬盤中,比如保存成了"110",再通過UFT-8方法讀取,也是顯示"中國";通過另一種方法轉(zhuǎn)存到硬盤中,"中國"則會保存成"101",然后通過UTF-8讀取,肯定不會顯示成"中國",也許就是一個(gè)亂七八糟的亂碼"燙燙燙燙燙燙燙燙燙";
雖然上面的110、119、燙燙燙是亂填的,下面示例代碼中有具體值,總之一個(gè):想要顯示正常,讀取數(shù)據(jù)時(shí)格式,必須和保存數(shù)據(jù)時(shí)使用的一致。
閑扯幾句——Python2 字符串設(shè)計(jì)上的一些缺陷:
使用ASCII 碼作為默認(rèn)編碼方式,對中文處理很不友好。
把字符串牽強(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)
代碼很簡單,學(xué)過Python的人應(yīng)該都能看懂是啥意思~~
我們看一下運(yùn)行結(jié)果:
小甲utf-8 ('en_US', 'UTF-8')
正如大家所想, 就是將“小甲”原樣打印出來, 再把“小甲”存到3個(gè)文件中。
(shift-jis是日文編碼格式)
這里解釋一下打印出來的兩個(gè)“utf-8”是什么意思:
上面的 utf-8 指:系統(tǒng)默認(rèn)編碼
注: 不要把系統(tǒng)以為是操作系統(tǒng),這里可以理解成python3的編譯器本身
下面的 utf-8 指:本地默認(rèn)編碼
注: 這個(gè)才是操作系統(tǒng)的編碼。(在Windows運(yùn)行會變成gbk)
今天分享的python3字符編碼的內(nèi)容到這里就結(jié)束了。雖然有示例介紹,也不知道小伙伴們能不能完全理解今天的內(nèi)容呢?實(shí)在不會的可以私下互相學(xué)習(xí)和交流,相信大家最終都能學(xué)會~
分享題目:創(chuàng)新互聯(lián)Python教程:python3字符編碼是什么?怎么用?
文章地址:http://www.fisionsoft.com.cn/article/cccjjjp.html


咨詢
建站咨詢
