美文网首页
Python处理BOM文本的解决方案

Python处理BOM文本的解决方案

作者: sawyer_2172 | 来源:发表于2018-07-25 13:50 被阅读62次

项目中遇到要读取配置的情况, 所有就用了 ConfigParser 模块, 乍一看没有啥问题, 但是测试过程中发现还是有坑.
在windows版的程序中, 客户配置ini文件一般都是用记事本修改, 但是本身记事本会强制加上一个BOM头, 然后ConfigParser在read时候救护抛错, 尝试了一些方法, 最终用指定read的编码方式的方法解决, 这里贴一下.

configparser.ConfigParser().read(config_file_path, encoding="utf-8-sig")

当然还有别的方法:

fp = open("file.txt")
s = fp.read()
u = s.decode("utf-8-sig")
# That gives you a unicode string without the BOM. You can then use
s = u.encode("utf-8")

本质差不多.

Reference:

  1. https://stackoverflow.com/questions/8898294/convert-utf-8-with-bom-to-utf-8-with-no-bom-in-python

相关文章

  • Python处理BOM文本的解决方案

    项目中遇到要读取配置的情况, 所有就用了 ConfigParser 模块, 乍一看没有啥问题, 但是测试过程中发现...

  • python处理BOM

    做文本处理的同学在windows下工作可能经常会遇到带BOM的utf-8编码文件,这时需要对文件头BOM处理一下,...

  • 解决IDEA2017 不支持BOM的问题(使其支持,而非简单的去

    添加去BOM处理 解决方案:去eclipse官网下载ecj4.6.2(根据自己的IEDA安装目录下lib中的ecj...

  • 序列构成的数组

    Time: 2019-08-02书籍: 《流畅的Python》 数据火车:文本,列表,表格。 Python处理序列...

  • Python - Day5

    廖雪峰:Python教程 1.因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算...

  • 字符编码与python字符串

    python字符串与字符编码 字符编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。...

  • VBA学堂—无Bom文本编码判断

    上一篇文章,介绍了文本编码判断,但这都是基于文本有BOM,如果是遇到没有BOM的文本,显然结果是不正确。所以在上一...

  • Python 文本中再使用引号/a string that in

    Python 定义文本使用 ' ' 或者 " "如果再其中需要再使用 引号 就会出错 。解决方案是:...

  • python基础2

    Python的异常处理机制 Bug的常见类型 被动掉坑的解决方案 python提供了异常处理机制,可以在异常出现时...

  • Python 文件处理

    一、Python处理json文本格式 读取json数组,并遍历输出

网友评论

      本文标题:Python处理BOM文本的解决方案

      本文链接:https://www.haomeiwen.com/subject/mqypmftx.html