gpt4 book ai didi

unicode - ASCII 和扩展 ASCII 中固有的困难,以及 Unicode 兼容性?

转载 作者:行者123 更新时间:2023-12-04 13:55:20 26 4
gpt4 key购买 nike

ASCII 和扩展 ASCII 固有的困难是什么,Unicode 如何克服这些困难?

有人可以向我解释unicode兼容性吗?

与 Unicode 相关的术语如平面、基本多语言平面 (BMP)、补充多语言平面 (SMP)、补充表意平面 (SIP)、补充特殊平面 (SSP) 和专用平面 (PUP) 是什么意思。

我发现所有这些词都非常令人困惑

最佳答案

ASCII码
ASCII或多或少是有史以来的第一个字符编码。在一个字节很贵,1MHz速度极快的年代,只有那些古老的US typewriters上出现的字符。 (以及现在的普通美国国际键盘)被 ASCII 字符编码的字符集覆盖。这包括完整的拉丁字母(AZ,小写和大写两种形式)、数字(0-9)、词汇控制字符(空格、点、逗号、冒号等)和一些特殊字符(at 符号) 、尖锐符号、美元符号等)。所有这些字符都填满了 7 位的空间,一个字节提供的空间的一半,总共 128 个字符。
扩展 ASCII 和 ISO 8859
稍后该字节的剩余位用于 Extended ASCII它提供了总共 255 个字符的空间。剩下的大部分空间被特殊字符使用,例如diacritical characters和线描字符。但是因为每个人都以自己的方式使用剩余的空间(IBM、Commodore、大学、组织等),它不可互换 .最初使用编码 X 编码的字符将显示为 Mojibake当它们使用不同的编码 Y 解码时。后来 ISO 提出了 8 位 ASCII 扩展的标准字符编码定义,导致了已知的 ISO 8859基于 ASCII 之上的字符编码标准,例如 ISO 8859-1,以便更好地互换。
统一码
8位对于使用拉丁字母的语言来说可能已经足够了,但对于世界上剩余的非拉丁语言,如汉语、日语、希伯来语、西里尔语、梵语、阿拉伯语等,肯定是不够的,更不用说包括了它们都只有 8 位。他们开发了自己的非 ISO 字符编码 这又是不可互换的 ,如国标、BIG5、JIS、KOI、MIK、TSCII等。最后建立了一个基于 ISO 8859-1 的新字符编码标准来覆盖世界上使用的任何字符,以便 它可以随处互换 :Unicode .它提供了超过一百万个字符的空间,其中目前约 10% 已被填充。 UTF-8字符编码基于Unicode。
Unicode 平面
Unicode 字符分为十七种 planes ,每个为 65536 个字符(16 位)提供空间。

  • 0号位面:Basic Multilingual Plane (BMP) ,它包含世界上所有已知的现代语言的字符。
  • 1号位面:Suplementary Multilingual Plane (SMP) ,它包含历史语言/脚本以及多语言音乐和数学符号。
  • 2号位面:Suplementary Ideographic Plane (SIP) ,它包含“特殊”的CJK(中文/日文/韩文)字符,其中有很多,但在现代写作中很少使用。 “普通”CJK 字符已存在于 BMP 中。
  • 飞机 3-13:未使用。
  • 14号位面:Supplementary Special Plane (SSP) ,到目前为止它只包含一些标签字符和字形变化选择器。标签字符目前已被弃用,将来可能会被删除。字形变体选择器将用作一种元数据,您可以将其添加到现有字符中,这反过来又可以指示读者为字符提供略有不同的字形。
  • 15-16 号位面:Private Use Planes (PUP) ,它为(主要)组织或用户倡议提供了在标准中包含他们自己的特殊字符或符号的空间,以便它在任何地方都可以互换。例如 Emoji (日式笑脸/表情)。

  • 通常,您只对 BMP 感兴趣,并在整个应用程序中使用 UTF-8 编码作为标准字符编码。

    关于unicode - ASCII 和扩展 ASCII 中固有的困难,以及 Unicode 兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569718/

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