Swift 以字节为单位获取字符的UTF-8编码

Swift 以字节为单位获取字符的UTF-8编码,swift,string,utf-8,character-encoding,character,Swift,String,Utf 8,Character Encoding,Character,在字符串上,我可以使用utf8和count来获取使用UTF-8编码对字符串进行编码所需的字节数: "a".utf8.count // 1 "チャオ".utf8.count // 9 "チ".utf8.count // 3 但是,在单个字符值上,我看不到等效的方法。要获得将字符串中的字符编码为UTF-8所需的字节数,我可以逐个字符遍历该字符串,将该字符转换为字符串,并获得该字符串的utf8.count: "チャオ".characters.forEach({print(String($0).utf

字符串上
,我可以使用
utf8
count
来获取使用UTF-8编码对字符串进行编码所需的字节数:

"a".utf8.count // 1
"チャオ".utf8.count // 9
"チ".utf8.count // 3
但是,在单个
字符
值上,我看不到等效的方法。要获得将字符串中的字符编码为UTF-8所需的字节数,我可以逐个字符遍历该字符串,将该字符转换为字符串,并获得该字符串的
utf8.count

"チャオ".characters.forEach({print(String($0).utf8.count)}) // 3, 3, 3

这似乎是不必要的冗长。有没有办法在Swift中获取
字符的UTF-8编码?

字符的UTF-8表示没有直接(公共)访问器

在处理UTF-8字节时有一些内部方法,但公共内容是在中实现的
String.UTF8View
in

因此,
String(myChar).utf8.count
是获取
字符UTF-8表示的长度。

为什么
低估了计数
<代码>让c=”チャオ".utf8.count
给出了字符串的精确UTF-8长度。@MartinR说得好,我将使用
count
来代替。但是,如何在逐个字符的基础上获得大小呢?据我所知,转换为字符串是唯一的方法。哦,好吧,谢谢你的光临。