【问题标题】:Unicode and other codings compatibilityUnicode 和其他编码兼容性
【发布时间】:2012-02-27 10:25:12
【问题描述】:

前 128 个 Unicode 字符与 ASCII 兼容。

前 256 个 Unicode 字符是否与任何扩展的 ASCII 标准兼容?

前 512 个 Unicode 字符是否与任何其他编码标准兼容?

【问题讨论】:

    标签: unicode utf-8 character-encoding ascii standards


    【解决方案1】:

    是的,前 256 个 Unicode 字符对应于 ISO 8859-1。

    前 512 个字符将构成 9 位编码,这可能不存在。

    【讨论】:

    • 这不是真的。如果你将它们编码为 UTF-8,那就是真的。
    • 确实如此。我说的是表示的字符,而不是它们的编码方式。
    【解决方案2】:

    前 128 个代码位置直接取自 ASCII。但是,ASCII 标准的版本略有不同,此外,各种 7 位代码(现在大部分未使用)被称为“ASCII 的国家变体”。

    没有“扩展 ASCII”。 ASCII 是 7 位代码。世界上使用的大多数字符代码的位置 0 1o 127 取自 ASCII,因此它们可能被称为“对 ASCII 的扩展”,但这毫无意义。

    Unicode 中接下来的 128 个字符取自 ISO 8859-1。

    (关于控制字符,在 C0 Controls 和 C1 Controls 中,标准的表述方式有所不同。无论如何,这些控制字符中的大多数含义在其他标准和规范中定义,因为它们并不是真正的问题字符代码标准化。)

    就与其他标准的关系而言,接下来的 256 个字符没有什么特别之处。他们的分配不是基于任何以前的标准。

    【讨论】:

    • 你的意思是接下来256个包机的顺序是随机选择的吗?
    • @Reza,不,这不是随机的,而是一种新颖的分配方式。接下来的 256 个字符甚至不构成单个块,而是拉丁扩展 A 块(U+0100 到 U+017F)和下一个块的开始拉丁扩展 B。在这些块中,顺序主要是字母顺序。添加扩展 A 主要是为了覆盖那些在欧洲语言中使用的拉丁字母,这些拉丁字母不是基本拉丁语 (ASCII) 或拉丁语 1 补充(用于西欧语言)。各种旧的 8 位代码包含这些字符的各种子集,散布在编码空间中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多