python带bom的utf-8-sig如何去掉bom

 我来答
東方1俗人
推荐于2017-10-31 · TA获得超过121个赞
知道答主
回答量:40
采纳率:100%
帮助的人:45.9万
展开全部

在此列举以下两种去除方法:

(1)在notepad++等高级记事本中可以直接转换为无BOM格式的utf-8文件



(2)用python脚本解决


BOM时一串16进制字符串,在python中表示为  “b'\xef\xbb\xbf'”


如果在分词之后出现BOM字符串,可以判断词是否等于“b'\xef\xbb\xbf'”去除即可


 


去除文本文件中BOM头的脚本

 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
    
 def removeBom(file):
      '''移除UTF-8文件的BOM字节'''
      BOM = b'\xef\xbb\xbf'
      existBom = lambda s: True if s==BOM else False
    
      f = open(file, 'rb')
      if existBom( f.read(3) ):
          fbody = f.read()
          #f.close()
          with open(file, 'wb') as f:
              f.write(fbody)
熹宝p
2017-10-31
知道答主
回答量:5
采纳率:0%
帮助的人:4687
展开全部
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
     
 def removeBom(file):
      '''移除UTF-8文件的BOM字节'''
      BOM = b'\xef\xbb\xbf'
      existBom = lambda s: True if s==BOM else False
      with open(file, 'rb') as fr:
          if existBom( fr.read(3) ):
              fbody = fr.read()
              #f.close()
              with open(file, 'wb') as fw:
                  fw.write(fbody)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式