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


Swift String.UnicodeScalarView用法及代码示例


结构

String.UnicodeScalarView

将字符串内容视为 Unicode 标量值集合的视图。

声明

@frozen struct UnicodeScalarView

概述

您可以使用字符串的unicodeScalars 属性访问字符串的 Unicode 标量值视图。 Unicode 标量值是 21 位代码,是 Unicode 的基本单位。每个标量值由一个Unicode.Scalar 实例表示,相当于一个 UTF-32 代码单元。


let flowers = "Flowers 💐"
for v in flowers.unicodeScalars {
    print(v.value)
}
// 70
// 108
// 111
// 119
// 101
// 114
// 115
// 32
// 128144

字符串中可见的某些字符由多个 Unicode 标量值组成。在这种情况下,字符串的 unicodeScalars 视图包含比字符串本身更多的元素。


let flag = "🇵🇷"
for c in flag {
    print(c)
}
// 🇵🇷


for v in flag.unicodeScalars {
    print(v.value)
}
// 127477
// 127479

您可以使用 String 类型的 init(_:) 初始化程序将 String.UnicodeScalarView 实例转换回字符串。


let favemoji = "My favorite emoji is 🎉"
if let i = favemoji.unicodeScalars.firstIndex(where: { $0.value >= 128 }) {
    let asciiPrefix = String(favemoji.unicodeScalars[..<i])
    print(asciiPrefix)
}
// Prints "My favorite emoji is "

可用版本

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

相关用法


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