我对codecs.open函数
感到非常困惑。当我执行以下操作时:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
这给我报错:
UnicodeDecodeError: 'ascii'编解码器无法解码位置0的字节0xef:范围之外的序数(128)
如果我执行以下操作:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
它很好用。
问题是为什么第一种方法失败了?如何插入bom?
如果第二种方法是正确的方式,那么使用codecs.open(filename, "w", "utf-8")
有什么意义呢?