微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

string – 在Swift中转换Character和CodePoint

我可以直接在 Swift字符和它的Unicode数值之间转换吗?那是:

var i:Int = ...  // A plain integer index.
var myCodeUnit:UInt16 = myString.utf16[i]
// Would like to say myChar = myCodeUnit as Character,or equivalent.

要么…

var j:String.Index = ... // NOT an integer!
var myChar:Character = myString[j]
// Would like to say myCodeUnit = myChar as UInt16

我可以说:

myCodeUnit = String(myChar).utf16[0]

但这意味着为每个角色创建一个新的String.而且我这样做了数千次(解析文本),这是很多新的字符串被立即丢弃.

解决方法

Character类型表示“Unicode字形集群”,可以是多个Unicode代码点.如果需要一个Unicode代码点,则应使用UnicodeScalar类型.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐