繁体   English   中英

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

[英]Convert unicode symbols \uXXXX in String to Character in Swift

我通过 REST API 接收一个字符串,其中包含\\uXXXX形式的 unicode 编码字符

例如Ain\’t应该是Ain't

有没有好的方法来转换这些?

您可以使用\\u{my_unicode}

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

语言指南 - 字符串和字符 - Unicode

字符串文字可以包含以下特殊字符:

...

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

您可以应用字符串转换StringTransform

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM