BOM(字节顺序标记)是控制字符吗?

BOM(字节顺序标记)是控制字符吗?

我知道在计算机中有四种类型的字符:

  1. 常规字符(数字或典型语言字母)。
  2. 控制字符(用于影响机器人或程序如何分析文档的字符),例如行结束(LF)或回车符(CR)。
  3. 元字符(任何给定的字符代表其自身以外的其他东西)。

我们可以说 BOM 字符也是像 LF 或 CR 这样的控制字符吗?

答案1

我们可以说 BOM 字符也是像 LF 或 CR 这样的控制字符吗?

不,它更像是一个签名:

问:什么是 BOM?

答:字节顺序标记 (BOM) 由数据流开头的字符代码 U+FEFF 组成,可以用作签名定义字节顺序和编码形式,主要用于未标记的纯文本文件。在某些高级协议下,在该协议定义的 Unicode 数据流中,BOM 的使用可能是强制的(或被禁止的)。

来源常见问题解答 - UTF-8、UTF-16、UTF-32 和 BOM


在您的问题中您陈述:

控制字符(用于影响机器人或程序如何分析文档的字符),例如行结束(LF)或回车符(CR)。

以上这种说法是不正确的。

  1. LF代表 Line喂养不是线路终点。

  2. 控制字符与文档的分析方式无关:

控制字符或非打印字符是字符集中的代码点(数字),不代表书面符号。它们用作带内信号,以产生除向文本添加符号之外的其他效果。

来源控制字符

答案2

我假设您所说的 BOM 是指 Unicode 字节顺序标记代码点。

您正在发明自己的定义,因此将 BOM 定义为您想要的任何类型。

Unicode 标准的设计者有自己的定义。请参阅Unicode 标准,版本 9.0.0,第 3.4 节字符和编码定义 D10a 将“代码点类型”定义为“标准中的七种基本代码点类别:图形、格式、控制、私有使用、代理、非字符、保留”。这些类型在第 23 章特殊区域和格式字符第23.8节特价商品将 U+FEFF(“字节顺序标记”)定义为具有“特殊”的代码点类型。

因此,Unicode 标准的设计者列出了 7 种代码点类型,而字节顺序标记属于“特殊”类型。您可以随意将其纳入您自己的定义中。

相关内容