Python27 和 IronPython 处理文件读写的字符编码问题

13 篇文章 0 订阅

又被 Python 的字符编码虐了。

 

平台:

Python27,IronPython

 

场景:

  1. 读取包含ASCII 字符的 UTF-8 编码的纯文本文件。
  2. 将包含ASCII 字符的 Unicode 字符串写入纯文本文件。

细节:

  • 打开文件可以用 open ,也可以用 module 'codecs' 下的 'open'(推荐使用)。codecs.open 的功能更强大,可以指定读取解析文件内容时所使用的编码格式。
  • 如果读取的文件头部包含 BOM(Byte order mark),那么用 Python27 读取时,BOM 会被当作内容读取进来,但在 IronPython 环境下,BOM 会被自动忽略。写文件时,考虑到文件将来可能会在其它地方被用到,这时候要考虑是否将 BOM 写入文件头部(方便识别编码)。
  • 最好不要在一个字符串(或数组)中夹杂多种编码格式的字符。从文件读取内容后,尽量将其转换成 Unicode 操作,直到必须进行编码时,再将其用具体格式编码。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值