Swift语法_Unicode

来源:互联网 发布:数据分析导论 编辑:程序博客网 时间:2024/05/21 10:09

概述:
Unicode 是一个国际标准,用于文本的编码和表示。 它使您可以用标准格式表示来自任意语言几乎所有的字 符,并能够对文本文件或网页这样的外部资源中的字符进行读写操作。
Swift 的 String 和 Character 类型是完 全兼容 Unicode 标准的。

Unicode 标量(Unicode Scalars)(了解)

Unicode 标量(Unicode Scalars)Swift 的 String 类型是基于 Unicode 标量 建立的。 Unicode 标量是对应字符或者修饰符的唯一的21位数 字,例如 U+0061 表示小写的拉丁字母( LATIN SMALL LETTER A )(" a "), U+1F425 表示小鸡表情(ABY CHICK ) (" ? ")。注意: Unicode 码位(code poing) 的范围是 U+0000 到 U+D7FF 或者 U+E000 到 U+10FFFF 。Unicode 标量不包 括 Unicode 代理项(surrogate pair) 码位,其码位范围是 U+D800 到 U+DFFF 。注意不是所有的21Unicode 标量都代表一个字符,因为有一些标量是留作未来分配的。已经代表一个典型字符 的标量都有自己的名字,例如上面例子中的 LATIN SMALL LETTER A 和 FRONT-FACING BABY CHICK 。

字符串字面量的特殊字符 (Special Characters in String Literals)

字符串字面量可以包含以下特殊字符:
• 转义字符 \0 (空字符)、 \ (反斜线)、 \t (水平制表符)、 \n (换行符)、 \r (回车符)、 \” (双引 号)、 \’ (单引号)。
• Unicode 标量,写成 \u{n} (u为小写),其中 n 为任意一到��位十��进制数且可用的 Unicode 位码。

下面的代码为各种特殊字符的使用示例。 wiseWords 常量包含了两个双引号。 dollarSign 、 blackHeart 和 rklingHeart 常量演示了三种不同格式的 Unicode 标量:

let wiseWords = "\"Imagination is more important than knowledge\" - Einstein"//wiseWords 常量包含了两个双引号let dollarSign = "\u{24}"// $, Unicode 标量 U+0024let blackHeart = "\u{2665}"//黑色心形, Unicode 标量 U+2665let sparklingHeart = "\u{1F496}"//红色心形, Unicode 标量 U+1F496

可扩展的字形群集(Extended Grapheme Clusters)

let eAcute: Character = "\u{E9}" // élet combinedEAcute: Character = "\u{65}\u{301}" // e 后面加上 ? //在这两种情况中,字母 é 代表了一个单一的 Swift 的 Character 值,同时代表了一个可扩展的字形群。 在第一 种情况,这个字形群包含一个单一标量;而在第二种情况,它是包含两个标量的字形群:

可拓展的字符群集可以使包围记号(例如 COMBINING ENCLOSING CIRCLE 或者 U+20DD )的标量包围其他 Unicode 标 量,作为一个单一的 Character 值:

let enclosedEAcute: Character = "\u{E9}\u{20DD}" // enclosedEAcute 是 é?

局部的指示符号的 Unicode 标量可以组合成一个单一的 Character 值,例如 REGIONAL INDICATOR SYMBOL LETTER U ( U+1F1FA )和 REGIONAL INDICATOR SYMBOL LETTER S ( U+1F1F8 ):

let regionalIndicatorForUS: Character = "\u{1F1FA}\u{1F1F8}" // regionalIndicatorForUS 是 ??

========有待扩展=======

0 0
原创粉丝点击