我怎样才能得到字符串的NSRange包含表情符号根据UTF8?我的代码:
let str = "🎁🇵🇷"
for char in str {
if let range = str.range(of: "\(char)") {
let nsRange = NSRange(range, in: str)
print("utf8 Count:", String(char).utf8.count, "utf16 Count:", String(char).utf16.count, "nsRange", nsRange)
}
}
结果:
utf8 Count: 4 utf16 Count: 2 nsRange {0, 2}
utf8 Count: 8 utf16 Count: 4 nsRange {2, 4}
- 预期:nsRange {0,4},然后nsRange {4,8}**
1条答案
按热度按时间mefy6pfw1#
我不知道为什么UTF-8
NSRange
是有用的,但不管怎样,你可以这样做:对示例字符串中的所有字符执行此操作:
以上代码输出: