当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Unicode.CanonicalCombiningClass用法及代码示例


结构

Unicode.CanonicalCombiningClass

Unicode 标准定义的规范排序算法中使用的标量分类。

声明

struct CanonicalCombiningClass

概述

排序算法使用规范组合类来确定两个组合标记序列是否应被视为规范等效(即解释相同)。如果两个序列在按组合类以升序对标量进行排序时相等,则它们是规范等价的。

例如,考虑序列"\u{0041}\u{0301}\u{0316}"(拉丁文大写字母 A,组合重音,下面组合重音)。这些标量的组合类分别具有数值 0、230 和 220。通过它们的组合类对这些标量进行排序产生 "\u{0041}\u{0316}\u{0301}" ,因此仅通过这些标量的顺序不同的两个字符串将比较为相等:


let aboveBeforeBelow = "\u{0041}\u{0301}\u{0316}"
let belowBeforeAbove = "\u{0041}\u{0316}\u{0301}"
print(aboveBeforeBelow == belowBeforeAbove)
// Prints "true"

命名和未命名的组合类

规范组合类在 Unicode 标准中定义为 0...254 范围内的整数。为方便起见,该标准将符号名称分配给这些组合类的子集。

CanonicalCombiningClass 类型符合 RawRepresentable 类型的原始值 UInt8 。您可以使用以符号名称命名的静态成员或使用 init(rawValue:) 初始化程序来创建该类型的实例。


let overlayClass = Unicode.CanonicalCombiningClass(rawValue: 1)
let overlayClassIsOverlay = overlayClass == .overlay
// overlayClassIsOverlay == true

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Unicode.CanonicalCombiningClass。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。