python 中去除BOM头

在window的环境下,保存的文本文档会加上三个字符0xEF 0xBB 0xBF的头部,这三个字符可能会影响对文本的读取,形成乱码,在这里记录下如何避免。

首先发现直接保存为ASCII的文本文件是不包含BOM头部的,验证步骤如下:

1.创建ASCII编码的txt文件

2.

#coding=utf-8
import codecs
data=open("xxx.txt").read()
if data[:3]==codecs.BOM_UTF8:
print "contain BOM"
print data

发现ASCII编码的文件头部不含BOM

3.将文件另存为UFT-8的格式,再次运行,可以发现包含BOM头部,输出也出些乱码。

解决方法

#coding=utf-8
import codecs
data=open("xxx.txt").read()
if data[:3]==codecs.BOM_UTF8:
data = data[3:]
print data
上一篇:LeetCode_Word Search


下一篇:商家APP店内点餐开启有桌台点餐模式