Преобразование строки base64 в строку с кодировкой URL в SwiftIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование строки base64 в строку с кодировкой URL в Swift

Сообщение Anonymous »

Мое требование:
Мне нужно преобразовать строку base64 в строку, закодированную в URL-адресе base64,
то же самое нравится преобразование на этом сайте: https://www.urlencoder.org/.
Мой код:

Код: Выделить всё

extension UIImage {
func toBase64URLEncodedString() -> String? {
guard let imageData = self.jpegData(compressionQuality: 1) else {
return nil
}
var base64String = imageData.base64EncodedString()
let allowedCharacterSet = CharacterSet(charactersIn: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~")

// URL encode the Base64 string
return base64String.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet)

}
}
Это работает для небольших строк, но когда я использую большую строку изображения в формате Base64, я сталкиваюсь со странной проблемой. Он возвращает только несколько строк данных и игнорирует остальные.
Моя исходная строка base64 (более 100 строк):
Изображение

Мой вывод: (Возвращается только 16 строк)
Изображение

Дополнительная информация:
Наша серверная система принимает только строки изображений в формате Base64, закодированные в URL. Если я их не закодирую, они будут отклонены.
Я понял, как это сделать в Android одной строкой кода, используя

Код: Выделить всё

    String urlEncodedString = URLEncoder.encode(newBase64String, "UTF-8");
Но я все еще ищу аналогичное решение для iOS (Swift).

Подробнее здесь: https://stackoverflow.com/questions/785 ... g-in-swift
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»