新聞中心
以下是關(guān)于Python 中文亂碼問題的分析,通過建立文件,以用文件中的python去讀取,以及相關(guān)代碼示例,以下的文章就是對Python 中文亂碼的解決方案,以下是文章的具體介紹,望你會有所收獲。

漢陰網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
建立一個文件test.txt,文件格式用ANSI,內(nèi)容為:abc中文用python來讀取
- # coding=gbk
- print open("Test.txt").read()
結(jié)果:abc中文把文件格式改成UTF-8這里需要解碼:
- # coding=gbk
- import codecs
- print open("Test.txt").read().decode("utf-8")
結(jié)果:abc中文上面的test.txt我是用Editplus來編輯的,但當我用Windows自帶的記事本編輯并存成UTF-8格式時,運行時報錯:
- Traceback (most recent call last):
- File "ChineseTest.py", line 3, in
- print open("Test.txt").read().decode("utf-8")
- UnicodeEncodeError: 'gbk' codec can't encode
character u'\ufeff' in position 0: illegal multibyte
sequence
原來,某些軟件,如notepad,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM)。因此我們在讀取時需要自己去掉這些字符,python中的codecs module定義了這個常量:
- # coding=gbk
- import codecs
- data = open("Test.txt").read()
- if data[:3] == codecs.BOM_UTF8:
- datadata = data[3:]
- print data.decode("utf-8")
結(jié)果:abc中文
網(wǎng)頁名稱:Python中文亂碼問題的分析的具體方案介紹
URL地址:http://www.5511xx.com/article/codippg.html


咨詢
建站咨詢
