在Swift编程语言3.0中,关于字符串和字符的章节,这本书指出
统一码标量是 U 0000 到 U D7FF(包括 U E000 到 U 10FFFF)范围内的任何 Unicode 代码点。Unicode 标量不包括 Unicode 代理项对代码点,这些代码点是 U D800 到 U DFFF 范围内的代码点(包括 U D800 到 U DFFF)
这是什么意思?
来自Unicode常见问题解答:
什么是代理人?
答:代理项是来自两个特殊 Unicode 值范围的代码点,保留用作 UTF-16 中成对代码单元的前导值和尾随值。前导(也称为高)代理项从 D80016 到 DBFF16,尾随或低位代理项从 DC0016 到 DFFF16。它们被称为代理项,因为它们不直接表示字符,而仅表示一对字符。
基本上,代理项是为特殊目的而保留的代码点,并promise永远不会单独编码字符,但始终作为一对UTF-16编码中的第一个代码点。
[更新日期]另外,来自维基百科:
Unicode标准为高和低代理的UTF-16编码永久保留这些代码点值,它们永远不会被分配一个字符,所以应该没有理由对它们进行编码。官方Unicode标准说没有UTF形式,包括UTF-16,可以对这些代码点进行编码。
然而,UCS-2、UTF-8和UTF-32可以用简单明了的方式对这些代码点进行编码,尽管标准规定这种排列应被视为编码错误,但大量软件还是会这样做。只要没有两个代码单元的序列可以被解释为合法的代理项对(也就是说,只要高代理项后面没有低代理项),就可以通过使用与代码点相等的代码单元来明确地用UTF-16对它们进行编码。大多数UTF-16编码器和解码器实现在编码之间进行转换,就像这种情况一样< sup >[需要引用]并且Windows允许在文件名中使用这样的序列。
Unicode 标量是一个代码点,它不序列化为一对 UTF-16 代码单元。
代码点是在Unicode标准中对字符进行编码后产生的数字。例如,字母A的代码点是0x41(或十进制中的65)。
代码单元是在代码点序列化中使用的每组位。例如,UTF-16使用一个或两个每个16位的代码单元。
字母A是Unicode标量,因为它只能用一个代码单元来表示:0x0041。但是,不常用的字符需要两个UTF-16代码单元。这对代码单元称为代理对。因此,Unicode标量也可以定义为:除了由代理项对表示的码位以外的任何码位。
顺便说一句,礼貌麋鹿的回答是正确的,这只是一个更简单的英语版本。
问题内容: 我想建立一个Python函数来计算 并想命名我的求和函数Σ。以类似的方式,想将Π用于产品,依此类推。我想知道是否有一种以这种方式命名python函数的方法? 也就是说,Python是否支持unicode标识符,如果支持,有人可以提供示例吗? 谢谢! 最初的动机是我今天看到的一段Clojure代码, 其中Σ是定义为的宏, 我觉得那很酷。 顺便说一句,要解决一些关于可读性的评论-例如,使用
问题内容: 该文件说: Swift编译器会自动将C和Objective-C源文件中定义的全局常量作为Swift全局常量导入。 但这并没有说相反的话。我需要定义一个全局swift常数,并且能够像全局c常数一样客观地看到它。如快速定义: 并在物镜c端使用它,例如 我该怎么办?我已经导入了迅速自动生成的标题,例如: 在Xcode中,如果我使用它,它将带我到swift代码中的正确位置,但是在编译时,我得到
问题内容: 如何使用Swift在一行中分配多个变量? 问题答案: 你不知道 这是一种语言功能,可以防止赋值的标准不良副作用返回值,如Swift书中所述: 与C和Objective-C中的赋值运算符不同,Swift中的赋值运算符本身并不返回值。以下语句无效: 此功能可防止在实际需要等于运算符()时偶然使用赋值运算符()。通过使其无效,Swift可帮助您避免代码中的此类错误。 因此,这有助于防止此极其
我怎样才能像在objective c中使用那样用pragma标记我的代码
问题内容: 现在,我将elixir与mysql数据库一起使用,并将redispy与redis一起使用,并在所有位置选择UTF-8。我想用中文写一些数据,但是我得到的是这样的: 在我将该字典存储到redis并通过redispy将其取出后,它变为: 我知道如果我加入之前,并打印它会守我,但有一个功能或另一个解决这个问题? 问题答案: 后者看起来像json,请先尝试对其进行解码:
Flask 与 Jinja2 、 Werkzeug 一样,文本方面完全基于 Unicode ,大多数 web 相关的 Python 库同样这样处理文本。如果你还不知道 Unicode 是什么,可能需要阅读 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and