「卓象程序员」什么是文件的BOM头,及BOM头有哪些注意事项
时间: 2019-10-23 09:09:54 来源: 卓象IT实训基地【原创】
1.什么是BOM
BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("uFEFF"),位于文本文件头部。
在不同的Unicode编码中,对应的bom的二进制字节如下:
FE FF UTF16BE
FF FE UTF16LE
EF BB BF UTF8
所以我们可以根据文件头部的几个字节和上面的表格对应来判断该文件是哪种编码形式。
2.存在的问题
虽然BOM字符起到了标记文件编码的作用但是他并不属于文件的内容部分,所以会产生一些问题:
1.在某些使用场景下就会有问题。例如我们把几个JS文件合并成一个文件后,如果文件中间含有BOM字符,就会导致浏览器JS语法错误。
2.PHP就不能识别bom头,PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!
3. 如何去掉UTF8编码的记事本文件的BOM头
使用notepad++的时候选择设置无BOM头的UTF8编码
每日分享技术干货~
报名卓象免费训练营课程
学习最新热门IT技术
找一份自己满意的高薪工作
15天免费学习!!
卓象程序员
★ 零基础,随时体验
★ 免费试听,满意后再报名
★ 小班授课,学习氛围浓厚
★ 口碑相传,80%学员来自口碑推荐
★ 教学严管,闯关式学习保障学习效果
★ 公司地点,哈尔滨市东直路123号7楼