Unicode 标量与代码点
访问文本底层的标量值。
Unicode 标量与代码点 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。
Unicode 标量
Unicode 标量是 Unicode 标准中的单个代码点,由 Unicode.Scalar 表示。字符由一个或多个标量构成。
let scalar: Unicode.Scalar = "A"
print(scalar)
print(scalar.value)value 属性
每个标量都有一个数值型的 .value:它所对应的 Unicode 代码点数值。字母 A 的值为 65。
let a: Unicode.Scalar = "A"
let z: Unicode.Scalar = "Z"
print(a.value, z.value)unicodeScalars 视图
字符串通过 .unicodeScalars 暴露其标量,这是一个可以进行迭代的集合。
for scalar in "Hi".unicodeScalars {
print(scalar, scalar.value)
}标量与字符
一个 Character 可能包含多个标量。使用组合标记书写的 accented 字母包含两个标量,但只有一个字符。
let accented = "e\u{301}"
print("Characters:", accented.count)
print("Scalars:", accented.unicodeScalars.count)从十六进制表示码位
您可以使用带花括号的反斜杠-u 转义序列,通过十六进制码位书写标量。
let heart = "\u{2764}"
print(heart)
for s in heart.unicodeScalars { print(s.value) }从数字创建标量
您可以根据整数码位构造一个 Unicode.Scalar;由于并非每个数字都有效,这个操作可能失败。
if let s = Unicode.Scalar(65) {
print(s)
}标量范围
由于标量具有数值,您可以比较它们并遍历它们的范围,例如检查某个标量是否为 ASCII 数字。
let s: Unicode.Scalar = "7"
let isDigit = s.value >= 48 && s.value <= 57
print("Is digit:", isDigit)ASCII 属性
标量具有 .isASCII 属性,用于告知您它是否处于 ASCII 范围内。
let a: Unicode.Scalar = "a"
let emoji: Unicode.Scalar = "\u{1F600}"
print(a.isASCII, emoji.isASCII)标量属性
标量通过 .properties 暴露丰富的 Unicode 属性,例如它们是否为字母或空白字符。
let space: Unicode.Scalar = " "
print(space.properties.isWhitespace)将字符映射为标量
您可以将一个 Character 拆分为其组成标量,以检查它的构成方式。
let c: Character = "e\u{301}"
for s in c.unicodeScalars {
print(s.value)
}标量为何重要
在标量层级进行处理对于低级文本处理、编码以及理解字符的构成方式至关重要。
let flag = "\u{1F1F9}\u{1F1F7}"
print("Characters:", flag.count)
print("Scalars:", flag.unicodeScalars.count)快速检查
回顾标量与字符之间的关系。
回顾:Unicode 标量与码位
您已了解到,Unicode.Scalar 是一个具有数值 .value 的单一码位,字符串会暴露 .unicodeScalars 视图,并且一个 Character 可能由多个标量组成,这对于低级文本处理非常重要。
let text = "A\u{301}"
print("Characters:", text.count)
for s in text.unicodeScalars { print(s.value) }常见问题解答
「Unicode 标量与代码点」课时是免费的吗?
是的 — 「Unicode 标量与代码点」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。
「Unicode 标量与代码点」这节课中我会学到什么?
访问文本底层的标量值。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「Unicode 标量与代码点」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 字符与字形簇
- Unicode 标量与代码点
- 字符计数与迭代
- 编码视图:utf8、utf16、unicodeScalars