将 String 中的 unicode 符号 \uXXXX 转换为 Swift 中的字符

Convert unicode symbols \uXXXX in String to Character in Swift

我正在通过 REST API 接收一个字符串,其中包含 \uXXXX

形式的 unicode 编码字符

例如Ain\u2019t 应该是 Ain’t

有什么好的转换方法吗?

您可以使用 \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

String literals can include the following special characters:

...

  • An arbitrary Unicode scalar, written as \u{n}, where n is a 1–8 digit hexadecimal number with a value equal to a valid Unicode code point

您可以应用字符串转换 StringTransform:

extension String {
    var decodingUnicodeCharacters: String { applyingTransform(.init("Hex-Any"), reverse: false) ?? "" }
}

let string = #"Ain\u2019t"#
print(string.decodingUnicodeCharacters)  // "Ain’t\n"