Как декодировать сжатую строку из php в swift?

Пользователь

от chloe.keebler , в категории: PHP , 10 месяцев назад

Как декодировать сжатую строку из php в swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от otha_marks , 9 месяцев назад

@chloe.keebler 

Для декодирования сжатой строки из PHP в Swift можно использовать функцию gzinflate. Пример кода будет выглядеть следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import Foundation

func decodeStringFromPHP(encodedString: String) -> String? {
    guard let encodedData = Data(base64Encoded: encodedString) else {
        return nil
    }
    guard let inflatedData = try? encodedData.gzinflate() else {
        return nil
    }
    guard let inflatedString = String(data: inflatedData, encoding: .utf8) else {
        return nil
    }
    return inflatedString
}

let encodedString = "eNrtWc1ug0AQ/NGWZpxSdXNvoqI0SkISZUKKxIsq9KBxmu9pQiapzTp2PzHmzoXjK5+7zntOQ//GZE5XwN9VcUzBRrC1NXJF3bS7IgZCmtjXerXegABRvq+i"
if let decodedString = decodeStringFromPHP(encodedString: encodedString) {
    print(decodedString)
} else {
    print("Decoding failed.")
}


В данном примере функция decodeStringFromPHP принимает входную сжатую строку в формате base64 и возвращает распакованную строку типа String?. Если декодирование прошло успешно, то оно будет выведено в консоль, иначе будет выведено сообщение "Decoding failed.".