【发布时间】:2019-12-24 05:02:32
【问题描述】:
1) 谁能解释一下为什么 ASCII 和 Latin-1 表一次出现在 字符集 章节中,一次出现在 代码页布局 下?如果两个术语可以互换使用,我很好,但这仍然不一致,还是我遗漏了什么?
2) ASCII 和 Latin-1 是否完全兼容? 0x00 到 0x1F 似乎没有在 Latin-1 中定义,为什么?
【问题讨论】:
标签: encoding character-encoding ascii latin
1) 谁能解释一下为什么 ASCII 和 Latin-1 表一次出现在 字符集 章节中,一次出现在 代码页布局 下?如果两个术语可以互换使用,我很好,但这仍然不一致,还是我遗漏了什么?
2) ASCII 和 Latin-1 是否完全兼容? 0x00 到 0x1F 似乎没有在 Latin-1 中定义,为什么?
【问题讨论】:
标签: encoding character-encoding ascii latin
字符集是一组概念性的书写系统概念,例如大写的 Fraktur Z、换行符或自行车符号。这些包括具有重要使用上下文(例如数学)但不具有典型字体(字体)变化的印刷样式变化。
字符集中的每个代码点都是“字符”和整数之间的映射中的一个元素。
字符编码是一种算法,用于在字符集中的代码点和字符编码中的一个或多个代码单元的序列之间进行转换。代码单位是整数。大于一个字节的整数具有字节顺序(字节序)。代码单元被序列化为字节序列以进行流式传输或存储。字符编码函数通常同时映射两个步骤:在代码点和字节之间。
许多字符集都有一种字符编码。许多字符编码具有单字节代码单元。这使得它们易于呈现代码点、代码单元和字节折叠以及字符集和字符编码折叠的概念。
这一切都有着悠久的历史。术语、重点和标准已经发展。上下文可以作为暗示的线索。在识别 ASCII 的特定扩展时,经常使用“代码页”。在一些原始标准中,仅记录了差异或扩展。供应商库通常会填补字符集中的空白,因此它们将完全定义超过 256 个代码点。在开发 Unicode 字符集时,供应商接受了介于 Unicode 和其他字符集之间的transcoding tables。这有效地将一些字符集标准化为 256 个代码点。 (您可以在表格中看到十六进制的 Unicode 代码点。)
ASCII 和 Latin-1(实际上与 ISO 8859-1 相同)在有限的意义上是兼容的: 前 128 个代码点和代码单元值相同。 ISO-8859-1 is the IANA preferred name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429. 没有人喜欢这样的混乱。这就是为什么 Unicode 的成员在创建 Unicode 和其他字符集之间的映射时只使用在字段中使用的字符集。
【讨论】: