Python文本亂碼發生時的解決方案
Python文本亂碼這個問題在我們使用的時候會發生在很多地方,其實我們需要不斷的進行相關代碼的調整,在下面的文章中你會找到相關的解決方法。希望大家詳仔細的學習。
在處理utf8文本格式的時候,由于這些文本是含BOM(byte order mark)的utf8文本,編譯時產生一個Error,”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定義了這個常量:
查看源代碼打印幫助
- import codecs
- data = open("Test.txt").read()
- if data[:3] == codecs.BOM_UTF8:
- datadata = data[3:]
- print data.decode("utf-8")
以上就是對Python文本亂碼發生時代碼修改的詳細介紹。
【編輯推薦】