gpt4 book ai didi

ios - 为 iOS 转义 Unicode 字符

转载 作者:可可西里 更新时间:2023-11-01 01:06:53 24 4
gpt4 key购买 nike

我想在我的应用程序中使用一些 Unicode 排列。我无法正确转义它们以供使用。

例如这个 Unicode 序列:🅰

如果我使用在线工具对其进行转义,我会得到:\ud83c\udd70

但是对于编译器来说,这当然是一个无效的序列:

var str = NSString.stringWithUTF8String("\ud83c\udd70")

另外,如果我这样做:

var str = NSString.stringWithUTF8String("\ud83c")

我收到错误“无效的 Unicode 标量”

我正在尝试使用这些 Unicode“字体”: http://www.panix.com/~eli/unicode/convert.cgi?text=abcdefghijklmnopqrstuvwxyz

如果我查看此网站的源代码,我会看到如下序列:

&#x1D552

努力思考什么是使用/转义 unicode 的“正确”方式。

并且只需要找到一种方法让他们在 iOS 上工作。

有什么想法吗?

最佳答案

\ud83c\udd70 是一个 UTF-16 代理项对,它对 unicode 字符🅰 (U+1F170) 进行编码。 Swift 字符串文字不使用 UTF-16,因此转义序列没有意义。但是,由于 1F170 有五个数字,您不能使用 \uXXXX 转义序列(它只接受四个十六进制数字)。相反,使用 \UXXXXXXXX 序列(注意大写 U),它接受八个:

var str = "\U0001F170" // returns "🅰"

您也可以将字符本身粘贴到您的字符串中:

var str = "🅰" // returns "🅰"

关于ios - 为 iOS 转义 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com