技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

EditPlus保存选utf-8 bom就是文本文件保存时的utf-8

作者:admin    时间:2021-8-24 12:38:22    浏览:

现在各种各样的编辑器,保存文件时如何选择编码格式,也是一大问题,如果选择不对,那么可能对程序的运行就会产生影响。

我在用Wordpress时修改文件后发生过很多次这样的事情,用记事本编辑的文件能运行正常,但改用EditPlus编辑后就运行出错,这明显就是保存的文件编码问题了。

后来经常多次变换保存方式,才知道,EditPlus保存选utf-8 bom就是文本文件保存时的utf-8。EditPlus保存选utf-8并不是文本文件保存时的utf-8。

这就让我有些好奇了,utf-8 bom 与 utf-8 有什么不同?后来经过查阅相关资料,才明白它们之间的区别。

先看图


(点击图片放大)

内容都一样 ,为什么相差了3个字节呢 ? 再看下图 。


(点击图片放大)

多出来的 ef bb bf 就是上面相差三个字节的原因 。

为什么 utf-8 bom 要多这三个字节呢 ?

BOM——Byte Order Mark,就是字节序标记。

bom是为utf-16和utf-32准备的,用于标记字节顺序。微软在utf-8中使用bom是因为这样可以把UTF-8和ASCII等编码区分开来,Windows就是使用BOM来标记文本文件的编码方式的,但这样的文件在Windows之外的操作系统里会带来问题。

UTF-8 BOM头又是什么

UTF-8以字节为编码单元因此不需要 BOM 来表明字节顺序,但可以用 BOM 来表明编码方式。字符 "Zero Width No-Break Space" 的 UTF-8 编码是 EF BB BF。所以如果接收者收到以 EF BB BF 开头的字节流,就知道这是 UTF-8编码了。

因此UTF-8编码的字符串开头处的三个bytes 0xef,0xbb,0xbf就称为UTF-8 BOM头。

总结

前面说了那么多,想必大家也就大致了解了有关utf-8 bom与utf-8的关系了吧,也就明白了为什么EditPlus保存选utf-8 bom就是文本文件保存时的utf-8了。

您可能对以下文章也感兴趣

标签: EditPlus  UTF8-BOM  UTF-8  
x
  • 站长推荐
/* 左侧显示文章内容目录 */