Из веб-службы мое приложение получает ответ JSON. В котором одно поле является строкой в кодировке windowsCP1252
.
Я пытаюсь декодировать его следующим кодом:
let input = "സൗപർണിക"//a string from server response
let data = input.data(using: .windowsCP1252, allowLossyConversion: true)!
print("data \(data.description)")
let output = String(data: data, encoding: .utf8)
print("output \(output ?? "failed")")
Но преобразование не выполняется. печать не удалась.
Тот же ответ сервера преобразуется в Android с использованием следующего кода котлина.
val input = "സൗപർണിക"
val op = String(input.toByteArray(charset("Cp1252")), charset("UTF-8"))
println("converted string ----- " + op )
Этот код котлина правильно декодирует строку и печатает converted string ----- സൗപർണിക
Что не так с быстрой реализацией? Как заставить это работать?