使用以下代码从 Swift 中的 unsplash.com JSON 文件中解码 \u0026:
extension String {
func utf8DecodedString()-> String {
let data = self.data(using: .utf8)
let message = String(data: data!, encoding: .nonLossyASCII) ?? ""
return message
}
func utf8EncodedString()-> String {
let messageData = self.data(using: .nonLossyASCII)
let text = String(data: messageData!, encoding: .utf8) ?? ""
return text
}
}
let jsonOriginal = #"Let\u2019s not be na\357ve \u0026 dumb!"#
print(jsonOriginal)
print("----")
let jsonDecoded = jsonOriginal.utf8DecodedString()
print(jsonDecoded)
let jsonEncoded = jsonDecoded.utf8EncodedString()
print(jsonEncoded)
奇怪的是,编码离开 & 并且不会重新编码为 \u0026??