为了账号安全,请及时绑定邮箱和手机立即绑定

这时生成的file仍旧为ascii格式 需要怎么做才能生成utf-8格式的文件? 谢谢

这时生成的file仍旧为ascii格式 需要怎么做才能生成utf-8格式的文件? 谢谢

qq_遁去的一_1 2023-04-14 18:14:06
import codecs txt = u"\u5e10\u53f7\u4e0d\u5b58\u5728"file=codecs.open("test","w","utf-8") file.write(txt) file.close()这个可以正确写入但当string只为ascii字符时,比如txt = u"qwer"
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

import codecs
txt = u"qwer"file=codecs.open("test","w","utf-8-sig")
file.write(txt)
file.close()


查看完整回答
反对 回复 2023-04-18
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

utf-8编码本身是ascii兼容的,所以只有ascii字符的时候,“是否utf-8”编码是没有意义的。

如果要求文件可以被明确识别为utf8编码,则需要在文件头写入几个特殊字符(即UTF-8的BOM),详情参见cute同学的回答。

p.s. 由于文件开头多了几个字符,这时候可能会导致某些应用无法兼容。


查看完整回答
反对 回复 2023-04-18
?
心有法竹

TA贡献1866条经验 获得超5个赞

文件开头加上:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import codecs

txt = u"qwer"
file=codecs.open("test","w","utf-8")
file.write(txt)
file.close()


查看完整回答
反对 回复 2023-04-18
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信