来自 google 的文本解码问题将 API 翻译成 iOS

Text decoding issue from google translate API in iOS

所以这里是 URL:

https://translate.googleapis.com/translate_a/single?client=gtx&sl=ar-SA&tl=en-US&dt=t&q=سلام

浏览器邮递员点击时响应都很好。但是当我通过代码执行此操作时,得到响应时会出现奇怪的字符串。

我试过了 Alamofire:

Alamofire.request(urlString, method: .get, parameters: nil,encoding: JSONEncoding.prettyPrinted, headers: ["Accept":"application/json;charset=UTF-8" ]).responseJSON { response in

            print(response)
}

响应字符串是这样的:

"\U0637\U00b3\U0638\U201e\U0637\U00a7\U0638\U2026"

还有这个奇怪的阿拉伯字符串。

"ط ط ط \\"\\" ط ... ... ...\"

试过这样打URL:

String.init(data: Data.init(contentsOf: URL.init(string: "https://translate.googleapis.com/translate_a/single?client=gtx&sl=ar-SA&tl=en-US&dt=t&q=%E2%80%8F%D8%B3%D9%84%D8%A7%D9%85")!), encoding: .utf8)

但结果是一样的,一些奇怪的阿拉伯字符串,从browserpostman点击时是不同的。

"ط ط ط \\"\\" ط ... ... ...\"

我在点击 URL 之前编码 URL。还在 url 和 string.

上尝试了不同的编码

这是 API 的参数问题。我添加了这两个参数,一切正常。

ie=UTF-8
oe=UTF-8