亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Python|如何讓文件讀取不再亂碼

有時(shí)在讀取文件時(shí)是否會(huì)出現(xiàn)亂碼?因?yàn)樵谥形腤indows系統(tǒng)中,如果不指定文本文件的編碼,那么它就會(huì)采用系統(tǒng)默認(rèn)的GBK編碼,即一個(gè)英文字符是ASCII碼,一個(gè)漢字是兩個(gè)字節(jié)的內(nèi)碼。文件的本質(zhì)是二進(jìn)制文件,相同的文本采用不同的編碼得到的二進(jìn)制數(shù)據(jù)是不同的。

解決方案:

GBK編碼執(zhí)行文件后是7個(gè)字節(jié),分別是Ox61Ox62 OX63 Oxce Oxd2 Oxc3 Oxc7

fobj=open('c:\\abc.txt','wt',encoding=’gbk’)fobj.write('abc 我們')fobj.close()

其中前三個(gè)是abc符號(hào),Oxce Oxd2是‘我’,Oxc3 Oxc7是‘們’。而在open中用encoding參數(shù)指定UTF-8編碼,執(zhí)行后就是9個(gè)字符,它們分別是:Ox61 Ox62 Ox63 Oxe6 Ox88 Ox91 Oxe4 OxbbOxac.其中Oxe6 Ox88 Ox91是‘我’,Oxe4 Oxbb Oxac是‘們’。

使用方法:

def writeFile():

    f=open('abc.txt','wt',encoding='utf-8')

    f.write('abc我們')

    f.close()def readFile():

    f=open('abc.txt','rt',encoding='utf-8')

    for s in f.readlines(): print(s,end='')

    f.close()try: writeFile()

    readFile()except Exception as e:

    print(e)

#運(yùn)行結(jié)果adc我們

當(dāng)使用的編碼不一致時(shí)就會(huì)出現(xiàn)以下情況:

def writeFile():

    f=open('abc.txt','wt',encoding='utf-8')

    f.write('abc我們')

    f.close()def readFile():

    f=open('abc.txt','rt',encoding='gbk')

    for s in f.readlines():

    print(s,end='')

    f.close()try:

    writeFile() readFile()except Exception as e:

    print(e)

    #運(yùn)行結(jié)果abc鎴戜滑

結(jié)語(yǔ)

文本讀取的默認(rèn)編碼是GBK,所以想用GBK讀文件時(shí)可以用encoding參數(shù),也可以不用,它會(huì)默認(rèn)的使用GBK,但如果要使用UTF-8編碼就必須用encoding參數(shù)指定。

好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享

好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!版權(quán)聲明:轉(zhuǎn)載文章來(lái)自公開(kāi)網(wǎng)絡(luò),版權(quán)歸作者本人所有,推送文章除非無(wú)法確認(rèn),我們都會(huì)注明作者和來(lái)源。如果出處有誤或侵犯到原作者權(quán)益,請(qǐng)與我們聯(lián)系刪除或授權(quán)事宜。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專(zhuān)業(yè)人才培訓(xùn)機(jī)構(gòu)!