亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python實現把utf-8格式的文件轉換成gbk格式的文件

2020-02-23 06:20:47
字體:
來源:轉載
供稿:網友

需求:將utf-8格式的文件轉換成gbk格式的文件

實現代碼如下:

代碼如下:
def ReadFile(filePath,encoding="utf-8"):
    with codecs.open(filePath,"r",encoding) as f:
        return f.read()
 
def WriteFile(filePath,u,encoding="gbk"):
    with codecs.open(filePath,"w",encoding) as f:
        f.write(u)
 
def UTF8_2_GBK(src,dst):
    content = ReadFile(src,encoding="utf-8")
    WriteFile(dst,content,encoding="gbk")

代碼講解:

函數ReadFile的第二個參數指定以utf-8格式的編碼方式讀取文件,返回的結果content為Unicode然后,在將Unicode以gbk格式寫入文件中。

這樣就能實現需求。
但是,如果要轉換格式的文件中包含有一些字符并不包含在gbk字符集中的話,就會報錯,類似如下:
代碼如下:
UnicodeEncodeError: 'gbk' codec can't encode character u'/xa0' in position 4813: illegal multibyte sequence

以上的報錯信息的意思是:在將Unicode編碼成gbk的時候,不能將Unicode u'/xa0'編碼成gbk。

這里,我們需要弄清楚gb2312、gbk和gb18030三者之間的關系
代碼如下:
GB2312:6763個漢字
GBK:21003個漢字
GB18030-2000:27533個漢字
GB18030-2005:70244個漢字

所以,GBK是GB2312的超集,GB18030是GBK的超集。
理清了關系之后,我們進一步改進下代碼:
代碼如下:
def UTF8_2_GBK(src,dst):
    content = ReadFile(src,encoding="utf-8")
    WriteFile(dst,content,encoding="gb18030")

運行后,發現沒有報錯,可以正常運行。

因為,在GB18030字符集中,可以找到u'/xa0'對應的字符。
 此外,還有另外一種實現方案:
需要修改下WriteFile方法
代碼如下:
def WriteFile(filePath,u,encoding="gbk"):
    with codecs.open(filePath,"w") as f:
        f.write(u.encode(encoding,errors="ignore"))

這里,我們將Unicode編碼(encode)成gbk格式,但是注意encode函數的第二個參數,我們賦值"ignore",表示在編碼的時候,忽略掉那些無法編碼的字符,解碼同理。

但是,當我們執行后,發現可以成功的將utf-8格式的文件修改成了ansi格式。但,另外發現生成的文件中,每個一行都有一行空行。

這里,可以指定以二進制流的形式寫文件,修改后的代碼如下:
代碼如下:
def WriteFile(filePath,u,encoding="gbk"):
    with codecs.open(filePath,"wb") as f:
        f.write(u.encode(encoding,errors="ignore"))

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
综合网日日天干夜夜久久| 不卡av在线网站| 亚洲福利视频在线| 国产精品视频精品视频| 热门国产精品亚洲第一区在线| 久久色精品视频| 都市激情亚洲色图| 国产精品免费视频久久久| 国产精品美女无圣光视频| 成人网页在线免费观看| 欧美在线视频一区| 91在线直播亚洲| 亚洲国产欧美一区二区丝袜黑人| 国产精品久久久久秋霞鲁丝| 国产一区二区三区日韩欧美| 国产99在线|中文| 久久久久久久国产精品| 91色琪琪电影亚洲精品久久| 久久av中文字幕| 亚洲摸下面视频| 欧美在线视频网| 久色乳综合思思在线视频| 热99精品只有里视频精品| www.亚洲成人| 欧美一级视频一区二区| 91久久国产精品| 欧美色道久久88综合亚洲精品| 91精品国产自产在线| 久久九九精品99国产精品| 欧美在线一区二区三区四| 欧美激情视频网址| 午夜精品蜜臀一区二区三区免费| 国产精品成人va在线观看| 久久精品影视伊人网| 日韩国产高清污视频在线观看| 亚洲乱码av中文一区二区| 亚洲综合色激情五月| 久久夜色精品国产亚洲aⅴ| 欧美一级淫片videoshd| 国产精品久久一区| 成人免费在线视频网站| 亚洲色图国产精品| 精品福利一区二区| 亚洲精品一区二三区不卡| 欧美日韩亚洲高清| 欧美美最猛性xxxxxx| 国产日韩精品一区二区| 97精品国产97久久久久久| 91久久精品美女| 中文字幕成人在线| 久久韩国免费视频| 日本久久中文字幕| 亚洲国产精品国自产拍av秋霞| 在线精品高清中文字幕| 国产精品7m视频| 91久久精品久久国产性色也91| 中文字幕亚洲图片| 国产一区二区三区在线播放免费观看| 91国产在线精品| 久久亚洲精品一区二区| 成人黄色大片在线免费观看| 精品国内亚洲在观看18黄| 国产小视频国产精品| 亚洲毛片在线免费观看| 国产精品久久久久久久久久久久| 亚洲综合社区网| 久久精品国产亚洲精品2020| 97久久精品国产| 国产午夜精品久久久| 色噜噜狠狠狠综合曰曰曰| 色婷婷综合久久久久中文字幕1| 久久久久久噜噜噜久久久精品| 日韩精品在线免费播放| 国产91成人video| 精品国产福利在线| 最近2019中文字幕mv免费看| 中文字幕精品视频| 一本一本久久a久久精品综合小说| 永久免费精品影视网站| 亚洲精品理论电影| 亚洲欧美一区二区三区久久| 欧美华人在线视频| 欧美最顶级丰满的aⅴ艳星| 麻豆一区二区在线观看| 日本成人黄色片| 亚洲欧洲在线视频| 欧美日韩在线观看视频| 精品丝袜一区二区三区| 国产精品入口免费视频一| 国产在线98福利播放视频| 亚洲国产精品视频在线观看| 韩国三级电影久久久久久| 欧美丝袜一区二区三区| 成人黄色av网| 久久综合色88| 一区二区三区高清国产| 91精品久久久久久久久久久久久久| 91禁外国网站| 日本在线精品视频| 国产精品久久久久久久一区探花| 亚洲精品视频免费| 日韩欧美精品在线观看| 欧美性色视频在线| 色先锋久久影院av| 国产精品久久久久久亚洲影视| 狠狠躁18三区二区一区| 久久久久久噜噜噜久久久精品| 亚洲福利视频网站| 日韩av毛片网| 精品美女永久免费视频| 欧美激情性做爰免费视频| 久久九九免费视频| 欧美在线不卡区| 国产精品美女久久久免费| 综合国产在线观看| 成人高清视频观看www| 色多多国产成人永久免费网站| 欧美色视频日本版| 日韩在线观看高清| 在线精品播放av| 日本精品视频网站| 欧美一级淫片videoshd| 欧美性受xxx| 97香蕉超级碰碰久久免费软件| 国内精品美女av在线播放| 亚洲综合国产精品| 日韩视频免费看| 日韩在线中文字幕| 久久艹在线视频| 亚洲成人亚洲激情| 国产成人aa精品一区在线播放| 中文字幕亚洲欧美日韩高清| 欧美一级片久久久久久久| 色yeye香蕉凹凸一区二区av| 欧美国产日韩二区| 亚洲专区在线视频| 欧美人交a欧美精品| 一区二区中文字幕| 5566成人精品视频免费| 欧美成人四级hd版| 日韩毛片中文字幕| 国产主播在线一区| 57pao成人永久免费视频| 欧美人与性动交a欧美精品| 中文字幕精品久久| 精品无码久久久久久国产| 欧美极品xxxx| 最近2019年好看中文字幕视频| 国产美女精彩久久| 97色在线视频观看| 久久久国产一区二区| 日韩在线免费高清视频| 国产精品aaa| yellow中文字幕久久| 国产成人avxxxxx在线看| 91精品国产综合久久香蕉最新版| 亚洲天堂开心观看| 国产伦精品一区二区三区精品视频| 国产精品无av码在线观看| 色av中文字幕一区| 国内精品免费午夜毛片| 日韩电影中文字幕一区| 中日韩美女免费视频网站在线观看| 91精品国产色综合久久不卡98口|