Swift: как правильно декодировать символы юникода? - PullRequest
0 голосов
/ 20 марта 2020

Я хотел бы прочитать JSON файл некоторых сообщений, зашифрованных на Facebook. Например, я получаю:

"content": "J\u00e2\u0080\u0099ai des bi\u00c3\u00a8res \u00f0\u009f\u008d\u00bb"

Правильно декодированный текст будет выглядеть так:

"content": "J'ai des bières ?"

Я пробовал это:

if let content = try? String(contentsOfFile: path + "/json_messages.json", encoding: .utf8) {
    let data = content.data(using: .utf8)!
        do {
            if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
                if let messages = json["messages"] as? [[String: Any]] {
                    messages.forEach { message in
                        // ... here I proceed the extracted json strings
                    }
                }
            }
        }
    } catch let error as NSError {
        print("Failed to load: \(error.localizedDescription)")
    }
 }

И вот результат:

Jâai des bières ð»

Я понятия не имею, как правильно декодировать этот контент. Спасибо за вашу помощь.

...