【问题标题】:Does a 1-byte UTF-8 "sequence" have a special name?1 字节的 UTF-8 “序列”是否有特殊名称?
【发布时间】:2016-01-26 19:11:45
【问题描述】:

根据Wikipedia,在 UTF-8 中,多字节序列中的第一个字节称为前导字节,序列中的后续字节称为连续字节。

我知道这些可能不是“官方”名称(事实上,UTF-8 RFC 没有为不同的八位字节类型提供任何名称),但根据维基百科和我迄今为止的研究,这些似乎是常用名称。

对于既不是前导字节也不是连续字节的字节是否有一个常用的特殊名称(即,对于代码点

我正在记录一些相当复杂的代码,这些代码旨在处理 UTF-8 编码的字符串,我想确保使用标准术语以避免混淆。

【问题讨论】:

  • UTF-8 RFC 甚至不使用名称 leading bytecontinuation byte

标签: utf-8


【解决方案1】:

在任何我希望看到定义的地方,我都找不到这个的特殊术语(除了已经提到的 ASCII)。我唯一可以补充的是单字节“序列”是合法序列,并且单字节被排除在称为前导字节之外。

来自 Unicode 标准的参考:

  • §3.9 (PDF, pg. 119)

    一个代码单元序列可能由一个代码单元组成。

  • §2.5 (PDF, pg. 37)

    为 UTF-8 代码单元序列的第一个或前导元素保留一个 8 位代码单元值范围,以及一个完全分离的 8 位代码单元值范围为此类序列的后续或尾随元素保留;

【讨论】:

    【解决方案2】:

    有些人会将 UTF-8 的前 7 位称为 ASCII

    【讨论】:

    • 这如何回答这个问题?什么叫单字节序列? “ASCII 字节”? “ASCII 序列”?这应该是标准术语吗?
    • 单字节序列是矛盾的,除非你指的是位,但我很高兴让它过去。 ASCII 字符是 UTF-8 前 7 位中的一个字节的通用非官方术语。这就回答了这个问题。
    猜你喜欢
    • 2018-04-10
    • 2018-12-26
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 2016-04-25
    • 2011-04-03
    相关资源
    最近更新 更多