开发者社区> 问答> 正文

写入文件时强制UTF-8

在Python中将字符串写入文件时,如何执行UTF-8编码?我在更大的工具链中需要它,但无法使其可靠运行。遵循Stack Overflow的不同,失败的方法,这对我来说已经失败了:

import codecs

f1 = codecs.open("/tmp/works.utf8", "w", encoding="utf-8")
f1.write("ä")
f1.close()

f2 = codecs.open("/tmp/fails.utf8", "w", encoding="utf-8")
f2.write("a")
f2.close()

在控制台上测试:

$ file -i works.utf8 
works.utf8: text/plain; charset=utf-8

$ file -i fails.utf8 
fails.utf8: application/octet-stream; charset=binary

我想念什么?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 16:13:40 634 0
1 条回答
写回答
取消 提交回答
  • 在python 3上,您不再使用编解码器打开文件。open函数上有一个新的encoding参数:

    https://docs.python.org/3/library/functions.html#open

    关于file程序。它通过猜测内容来工作。您可能需要添加UTF-8 BOM,以使其有更多的机会识别它,因为它也可能是ascii文件(或者是二进制文件,因为只有一个字节没有说明太多)。

    回答来源:stackoverflow

    2020-03-23 16:13:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载