UTF-8-SIG 和 UTF-8 with BOM 有什么区别,该怎么选

前言

用 Sublime Text 打开一个文件,出现一个框框,提示要点选UTF-8-SIG(100%)UTF-8 with BOM

详解

  • BOM (Byte Order Mark) 存在:UTF-8 with BOM 包含一个特殊的字节顺序标记 (BOM),它是一个非打印字符,通常用于表示文本文件的字节顺序(大端或小端)。这个BOM会在文件开头插入几个字节,用于指示文件的编码方式。而 “UTF-8-SIG” 是在UTF-8编码下,为了避免BOM的问题,特意在文件开头添加了一个特殊的标记,通常是0xFEFF。这个标记会告诉文本处理程序文件采用UTF-8编码
  • 兼容性:某些文本编辑器和应用程序可以识别BOM并根据其存在来正确解释文本文件的编码,但也有一些应用程序可能不支持BOM,可能会将它们解释为文本内容的一部分。相比之下,“UTF-8-SIG” 标记通常更可靠,因为它不会引起与BOM相关的问题

结论

在选择使用哪种编码时,通常建议使用 “UTF-8-SIG”,因为它更可靠,特别是在涉及多个不同应用程序或平台的文本文件时。如果没有特殊要求,“UTF-8-SIG” 是一个较好的选择,因为它不会引入额外的BOM字符,但仍然能够表示UTF-8编码

你可能感兴趣的:(sublime,text)