将字符串中的Unicode符号\uXXXX转换为Swift中的字符

e3bfsja2  于 2023-01-25  发布在  Swift
关注(0)|答案(2)|浏览(118)

我正在通过REST API接收一个字符串,其中包含\uXXXX形式的unicode编码字符
例如,Ain\u2019t应为Ain’t
有没有什么好方法可以转换这些?

eqqqjvef

eqqqjvef1#

您可以使用\u{my_unicode}

print("Ain\u{2019}t this a beautiful day")
/* Prints "Ain’t this a beautiful day"

Language Guide - Strings and Characters - Unicode
字符串文本可以包含以下特殊字符:
...

  • 任意Unicode标量,格式为\u{n},其中n是1-8位的十六进制数,其值等于有效的Unicode码位
bkhjykvo

bkhjykvo2#

您可以应用字符串转换StringTransform

extension String {
    var decodingUnicodeCharacters: String { applyingTransform(.init("Hex-Any"), reverse: false) ?? "" }
}
let string = #"Ain\u2019t"#
print(string.decodingUnicodeCharacters)  // "Ain’t\n"

相关问题