使用 Swift 5,您可以使用以下两种方式之一来获取 Emoji 字符的描述。
#1。使用Unicode.Scalar.Properties 的name 属性
Unicode.Scalar.Properties 有一个name 属性。 name 有以下声明:
var name: String? { get }
标量的发布名称。
下面的 Playground 代码示例展示了如何使用 name 来获取已发布的 Unicode 标量名称:
let emoji: Character = "?"
for scalar in emoji.unicodeScalars {
print(scalar.properties.name)
}
/*
prints: Optional("SMILING FACE WITH OPEN MOUTH AND SMILING EYES")
*/
#2。使用Unicode.Scalar.Properties 的nameAlias 属性
Unicode.Scalar.Properties 还有一个名为nameAlias 的属性,声明如下:
var nameAlias: String? { get }
标量的规范形式别名。 [...] nameAlias 属性用于在错误发布名称时进行更正。例如,U+FE18 的名称是“Presentation FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET”(注意“BRACKET”拼写错误)。然后nameAlias 属性包含更正后的名称。
下面的 Playground 示例代码显示了 U+FE18 Unicode 标量 name 和 nameAlias 之间的区别:
let emoji: Character = "\u{FE18}" // ︘
for scalar in emoji.unicodeScalars {
print(scalar.properties.name)
}
/*
prints:
Optional("PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET")
*/
let emoji: Character = "\u{FE18}" // ︘
for scalar in emoji.unicodeScalars {
print(scalar.properties.nameAlias)
}
/*
prints:
Optional("PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET")
*/