我有一个用utf-8编码的HTML文件。我想把它输出到一个文本文件,用utf-8编码。下面是我使用的代码:
import codecs
IN = codecs.open("E2P3.html","r",encoding="utf-8")
codehtml = IN.read()
#codehtml = codehtml.decode("utf-8")
texte = re.sub("<br>","\n",codehtml)
#texte = texte.encode("utf-8")
OUT = codecs.open("E2P3.txt","w",encoding="utf-8")
OUT.write(texte)
IN.close()
OUT.close()
如你所见,我试过同时使用'decode'和'codecs'。这两种方法都不起作用,我的输出文本文件默认为occidential(Windows-1252),一些实体变得乱七八糟。 我做错什么了?在
使用
codecs
模块打开UTF-8文件时,文件的内容会自动解码为Unicode字符串,因此不能再次尝试解码。在在编写文件时也是如此;如果使用
codecs
模块编写它,则传递的Unicode字符串将自动编码为您指定的任何编码。在为了明确表示您正在处理Unicode字符串,最好使用Unicode文本,如
虽然在这种情况下并不重要(也可以写为
^{pr2}$因为您实际上没有使用正则表达式)。在
如果应用程序无法识别UTF-8文件,则可以使用BOM (Byte Order Mark)保存该文件(这通常是不可取的,但如果应用程序无法识别UTF-8文件,则值得一试):
相关问题 更多 >
编程相关推荐