首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有BOM还是没有BOM?

有BOM还是没有BOM?
EN

Stack Overflow用户
提问于 2015-01-03 17:16:08
回答 1查看 3.4K关注 0票数 2

当你现在写网页并且使用UTF-8时,什么是最好的?

实践-编码您的网页为UTF-8与或没有BOM?

然后..。任何类型文件的答案是什么,

不只是网页(不只是HTML文件)?

EN

回答 1

Stack Overflow用户

发布于 2015-01-03 17:33:42

来自Unicode 网站

问: UTF-8数据流能否包含BOM字符(以UTF-8格式)?如果是,那么我是否仍然可以假定剩余的UTF-8字节处于大端顺序? 是的,UTF-8可以包含一个BOM.但是,它对字节流的特性没有影响。UTF-8的字节顺序总是相同的.初始的BOM仅用作签名--表明在UTF-8中有一个其他未标记的文本文件。注意,一些UTF-8编码数据的接收者并不期望BOM.当在8位环境中透明地使用UTF-8时,BOM的使用将干扰任何在开始时需要特定ASCII字符的协议或文件格式,例如使用"#!“在Unix脚本的开头。

以及:

如果数据具有关联类型,例如数据库中的字段,则不需要BOM。特别是,如果文本数据流标记为UTF-16 BOM、UTF-16 or、UTF-32 BOM或UTF-32 or,则BOM既不需要也不允许。任何U+FEFF都将被解释为ZWNBSP。

BOM是不需要的,也不建议在UTF-8中使用,因为它除了标记UTF-8流的开始没有任何用途。然而,这并不是区分UTF-8的有效方法,因为BOM可以简单地被解析为其他编码格式中的字符。

BOM只应在数据以多字节格式(UTF-16/32)传输的上下文中使用,而不需要对endianness进行说明。你会使用这样的东西是超出我的范围,但这是唯一的情况下,BOM是必要的。

在生成和使用所述文本文件的代码中,区分文件中的文本编码(HTML、元标记等)或更好的文本编码。对于广泛分发的UTF-8文件,更常见的变体是没有BOM的.事实上,一些文本编辑器并不期望BOM,并且可能无法正确地解析流。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27757410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档