首页 > 编程语言 > 详细

python去掉BOM头的方法

时间:2018-01-23 19:47:06      阅读:1299      评论:0      收藏:0      [点我收藏+]

今天在写批量生成身份证号造数据的时候出现了问题,其中一个是报不能转成int型,后经查找,发现是utf-8BOM头的问题。

什么是BOM?

  在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码。其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。

类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。

 

  当在读txt时一旦读到BOM头就会报错。

处理方法如下:

import codecs

with open(file_path, "r") as file:
    data = file.read()
    data = data.replace(codecs.BOM_UTF8, "")
    districtlist = data.split(\n)
    file.closed

 

python去掉BOM头的方法

原文:https://www.cnblogs.com/panpan0301/p/8337128.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!