gpt4 book ai didi

html - 为什么没有为 127 到 159 的 ascii 值定义符号

转载 作者:行者123 更新时间:2023-12-05 09:22:48 27 4
gpt4 key购买 nike

我在 an ASCII chart 中寻找 ×并注意到从 127 到 159 没有在图表中定义符号(未在 HTML 4 标准中定义),尽管此后的代码在图表中确实有符号。

在这个数字范围内没有符号是否有特定的技术原因?

最佳答案

虽然不清楚这是否是 ASCII 设计者的初衷,但将 ASCII 值限制在 127 或更小(十进制)允许创建更新的字符编码,如 UTF-8 和 Unicode,支持超过一百万字符,同时也与 ASCII 向后兼容。

这些较新的编码方案通过可变宽度来做到这一点:如果字节中的第一位为“0”,则该字节被视为 ASCII 字符。如果第一个字节是“1”,则将其视为多字节字符的一部分。有关 UTF-8 的更多信息可用 here .

因此,与 UTF-8 兼容的软件可以处理最初以 ASCII 编码的文本。同样,这种向后兼容性适用于设计为与 ASCII 向后兼容的编码。当然还有其他向后兼容的编码方案。

更多的字符非常重要,因为即使是 8 位(256 个字符)或一个完整的字节也不足以表示人们感兴趣的所有语言中的所有字符,尤其是因为像中文和日文这样的语言有数千个字符人物。即使是 2 Bytes 也不能涵盖中文和日文等语言。

向后兼容的编码允许旧软件和符合 UTF-8 标准的新软件处理相同的文本数据,因为新软件和旧软件对 ASCII 字符的处理方式相同,并且不会将 ASCII 字符与其他字符混淆字符,反之亦然。

相对于为每个字符分配固定数量的 3 或 4 个字节(你需要支持日语和中文,因为 2 个字节是不够的)的方法,多字节编码方案的另一个优点是固定编码,您将显着增加简单文本的存储要求(意味着文本可以是 ASCII 或每个字符 1 个字节),因为现在每个字符是 3 或 4 个字节,而不是 1 个。

固定宽度的编码方案(例如每个字符 3 或 4 个字节)也不会向后兼容 ASCII。

所以,不要批评ASCII没有使用全部8位bit,或者不支持最多256个字符,而是赞美它的可扩展性,以至于我们有了 Sprite emoji🧞‍♂️。是的,许多/大多数表情符号都是官方的 UTF-8 和 Unicode 字符——但是设备和字体需要为它们创建图形,这滞后于作为官方字符的表情符号的实际创建,因此像美洲驼这样的新表情符号在 Mac 上不可用(尚未),但在 iOS 上可用。

关于html - 为什么没有为 127 到 159 的 ascii 值定义符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606965/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com