【发布时间】:2016-06-27 22:01:26
【问题描述】:
在String 上,我可以使用utf8 和count 来获取使用UTF-8 编码对字符串进行编码所需的字节数:
"a".utf8.count // 1
"チャオ".utf8.count // 9
"チ".utf8.count // 3
但是,我没有在单个 Character 值上看到等效方法。要获得将字符串中的字符编码为 UTF-8 所需的字节数,我可以逐个字符地遍历字符串,将 Character 转换为 String,并获取该字符串的 utf8.count:
"チャオ".characters.forEach({print(String($0).utf8.count)}) // 3, 3, 3
这似乎是不必要的冗长。有没有办法在 Swift 中获取 Character 的 UTF-8 编码?
【问题讨论】:
-
为什么是
underestimateCount?let c = "チャオ".utf8.count给出字符串的确切 UTF-8 长度。 -
@MartinR 好点,我将使用
count代替。但是如何逐个字符地获取大小呢? -
据我所知,转换为字符串是唯一的方法。
-
哦,好的,感谢您的光临。
标签: swift string utf-8 character-encoding character