Python 去掉BOM

BOM的全程是Byte Order Mark(定义字节顺序)。我们开发测试代码的时候,我们既希望它能在windows上运行,也希望它能在Linux上运行,也就是系统无关,那么在有些Windows系统上的文件中存在了BOM,这样在Linux上读取的时候就会出现读取问题,因此我们需要兼容去掉BOM的代码。

好好说说BOM

BOM的定义可以参考Byte order mark,具体就不在这里说了,感兴趣自己去看一下,但是在网页中使用带BOM的utf8会导致很多Browser显示乱码。对于文本来说,windows对带有BOM的utf8文档处理比较友好,因为Windows把Unicode识别代码集成进了API里,主要是CreateFile()。打开文本文件时它会自动识别并剔除BOM。
但是Unix系操作系统对带有BOM的utf8文档并不友好。这是因为UNIX脚本语言通行的首行#!标示,这东西依赖于shell解析,而很多shell出于兼容的考虑不检测BOM,所以加进BOM时shell会把它解释为某个普通字符输入导致破坏#!标示。

python去掉BOM

我们都想我们的测试脚步在任何地方都可以运行,兼容windows和linux,因此我们要去掉文本的BOM。BOM字符的表示是codecs.BOM_UTF8,那么要去除BOM就要使用如下代码打开文件(如下代码是基于Python3开发的,要是使用Python2的话,因为Python2的code

Python 去掉BOM相关推荐

  1. python去掉空白行_python去掉空白行的多种实现代码

    这篇文章主要介绍了python去掉空白行实现代码,需要的朋友可以参考下 测试代码 php.txt1:www.php.cn 2:www.php.cn 3:www.php.cn 4:www.php.cn ...

  2. php转换编码去掉bom,UTF-8编码怎么去掉BOM头?

    使用uft8编码或做页面的朋友会碰见过把页面保存时会发现页面是空白的但是页面确实有内容,后会会听说是bom头的问题,那么什么是bom头了,要如何解决因为bom头导致页面空白问题呢,下面我们一起来看看具 ...

  3. python去掉最后一行的换行符_python去掉行尾的换行符方法

    python去掉行尾的换行符方法 如下所示: mystring.strip().replace(' ', '').replace('\n', '').replace('\t', '').replace ...

  4. c语言滤去所有非数字字符,Python: 去掉字符串中的非数字(或非字母)字符

    >>> crazystring = 'dade142.;!0142f[.,]ad' 只保留数字 >>> filter(str.isdigit, crazystrin ...

  5. 第一个python去掉行号

    http://blog.sciencenet.cn/home.php?mod=space&uid=404069&do=blog&id=297132 (根据我在博客园上连载的四篇 ...

  6. python 去掉list元素的双引号_一天快速入门 Python

    Python 是由Guido Van Rossum在 90 年代早期设计,现在是最常用的编程语言之一.特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言. Python基 ...

  7. python去掉字符串最外侧的引号_疯狂Python讲义第二章读书笔记

    本章讲解变量和简单类型 2.1 从注释讲起 单行注释使用#,#后面的代码被注释掉不会运行,如: # print(123) 注释掉后123不会输出.多行注释使用"""  & ...

  8. python去掉人像白边_python 使用plt画图,去除图片四周的白边方法

    用matplotlib.pyplot画的图,显示和保存的图片周围都会有白边,可以去掉.为了显示的更清楚,给图片加了红色的框 代码 "` import matplotlib.pyplot as ...

  9. python去掉html标签_python 去除html标签的几种方法

    #! /usr/bin/python # -*- coding:utf-8 -*- ''' created on 2013-12-18 @author: java ''' import re from ...

最新文章

  1. jsp 环境配置记录
  2. hammer用法 jquery.hammer.js
  3. Python高级特性:列表生成式
  4. Vue基础之Vue模板语法
  5. java 反射 代码_java反射机制学习代码
  6. POJ 计算几何(3)
  7. mysql8导出文件_windows下 Mysql 8.0.x 数据库简单的导出和导入!!!
  8. iOS 高效 Mac 配置
  9. sourcetree删除文件夹、重新指向并重定义主分支、
  10. 计算机本地磁盘加密,我可以将onedrive本地文件夹转移到BitLocker加密文件夹吗?...
  11. 《C语言小游戏之贪吃蛇程序代码》
  12. css中的盒模型box-sizing
  13. win10设置HTML桌面背景,win10系统分屏设置不同壁纸教程
  14. \USER\stm32f10x.h(298): error: #67: expected a “}”
  15. 彩虹物语服务器维护,红手指彩虹物语云手机使用教程_红手指彩虹物语云挂机教程_彩虹物语息屏挂机教程_红手指云手机官网...
  16. 头歌-信息安全技术-Linux之用户管理
  17. 【愚公系列】2022年03月 .NET架构班 021-ABP vNext 动态代理模块
  18. 英语底子薄的人,怎样高效复习考博英语?
  19. 分布式的微服务架构中的核心理念
  20. 基于LabVIEW+python实现车牌识别智能系统的设计

热门文章

  1. github学生开发者包_2020年GitHub学生开发包指南
  2. Python爱好者 socket模块传输文件 -
  3. 计算机桌面上的照片转pdf免费,如何把图片转化为pdf,图片转换pdf工具推荐
  4. User Registration
  5. Android Jetpack 学习之Navigation、BottomNavigationView
  6. cd4013编程c语言,cd4013中文资料汇总(引脚图及功能_工作原理及方式_功能结构_参 - 电气技术 - 电子发烧友网...
  7. JZOJ-senior-5935. 【NOIP2018模拟10.29】小凯学数学
  8. 腾讯竟然又偷偷开源了一套Android原生UI框架!不吃透都对不起自己
  9. 嵌入式学习笔记-uboot第一阶段分析
  10. Flutter开发:运行flutter upgrade命令报错Exception:Flutter failed to create a directory at…解决方法