在python中保存文件时添加BOM(unicode签名)

新手上路,请多包涵

在python中保存文件时如何添加BOM(unicode签名):

 file_old = open('old.txt', mode='r', encoding='utf-8')
file_new = open('new.txt', mode='w', encoding='utf-16-le')
file_new.write(file_old.read())

我需要将文件转换为 utf-16-le + BOM 。现在脚本运行良好,只是没有 BOM。

原文由 Qiao 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 802
2 个回答

直接写在文件开头:

 file_new.write('\ufeff')

原文由 Ocaso Protal 发布,翻译遵循 CC BY-SA 2.5 许可协议

最好使用“编解码器”模块中的常量。

 import codecs
f.write(codecs.BOM_UTF16_LE)

原文由 kriomant 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题