Old*_*zer 4 notepad windows-10
最新的 Notepad.exe 有一个“另存为”UTF-8和UTF-8 with BOM.
是UTF-8 with BOM旧的吗UTF?现在是什么情况UTF-8?
事实上,记事本允许使用 BOM\xe2\x80\x9d 将文件保存在 \xe2\x80\x9cUTF-8\xe2\x80\x9d 或 \xe2\x80\x9cUTF-8 中,这似乎是一个存在的选项在需要 BOM(字节顺序标记)的情况下具有灵活性。但一般来说,仅保存不带 BOM \xe2\x80\x94 的文件(即纯 UTF-8 \xe2\x80\x94)确实是处理具有 UTF-8 内容的文本文件的最佳方法。
\n正如字节顺序标记的维基百科页面上所解释的上的解释:
\n\n\n\xe2\x80\x9cBOM 的使用是可选的。它的存在会干扰软件对 UTF-8 的使用,这些软件不需要在文件开头出现非 ASCII 字节,但可以处理文本流。\xe2\x80\x9d
\n
这篇文章通过阐述以下内容对其进行了更深入的探讨;我的大胆强调是:
\n\n\n\xe2\x80\x9cBOM 的 UTF-8 表示形式是(十六进制)字节序列
\n0xEF,0xBB,0xBF。Unicode 标准允许 UTF-8 中的 BOM,但不要求或建议使用它。字节顺序在 UTF-8 中没有任何意义,因此它在 UTF-8 中的唯一用途是在开始时发出信号,表明文本流是用 UTF-8 编码的,或者它是从包含以下内容的流转换为 UTF-8 的:可选的物料清单。该标准也不建议删除 BOM,这样编码之间的往返就不会丢失信息,并且依赖它的代码可以继续工作。IETF 建议,如果协议 (a) 始终使用 UTF-8,或者 (b) 有其他方式来指示正在使用的编码,那么它“应该禁止使用 U+FEFF 作为签名”。
\n不使用 BOM 允许文本向后兼容某些不支持 Unicode 的软件。示例包括允许在字符串文字中使用非 ASCII 字节但不允许在文件开头使用非 ASCII 字节的编程语言。\xe2\x80\x9d
\n
至于为什么微软关心在记事本中保存带BOM的UTF-8?这很好地解释了这一点;似乎是 Microsoft 编程工具的特定要求,而不是任何其他非 Microsoft 工具:
\n\n\n\xe2\x80\x9cMicrosoft 编译器和解释器以及 Microsoft Windows 上的许多软件(例如记事本)将 BOM 视为必需的幻数,而不是使用启发式方法。这些工具在将文本保存为 UTF-8 时添加 BOM,并且除非存在 BOM 或文件仅包含 ASCII,否则无法解释 UTF-8。Google 文档在将文档转换为纯文本文件以供下载时还会添加 BOM。\xe2\x80\x9d
\n
因此,除非您明确需要保存带有为文件设置的 BOM 的 UTF-8 文件,否则不必担心该保存选项。
\n| 归档时间: |
|
| 查看次数: |
16807 次 |
| 最近记录: |