Как использовать / декодировать строку base64 в кодировке swift вне iOS? - PullRequest
0 голосов
/ 03 марта 2019

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

Я сделал несколько функций, которые конвертируют изображения в строки Base64, ничего необычного:

func imagePickerController(_ picker                             : UIImagePickerController,
                           didFinishPickingMediaWithInfo info   : [UIImagePickerController.InfoKey : Any]) {
    if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
        let pickedImageBase64: String = (
            pickedImage
                .pngData()?
                .base64EncodedString()
        )!;

        NSLog("image base64: %@", pickedImageBase64);
        self.imageHandler(pickedImageBase64);
    }
}

Ничего странного, я выбираю изображение с камеры, получаю данные PNG, запрашиваю его как строку в кодировке base64, помещаю журнал этой строки и отправляю его обработчику изображения.

Внутри приложения я могу без проблем конвертировать эту строку в кодировке base64 в изображения.

Однако, когда я загружаю эту строку в кодировке base64 на сервер или даже когда копирую то, что находится вЗапись NSLog, Я не могу декодировать ее с помощью команды base64 в Shell или с помощью какой-либо службы в Интернете.

Попробовал с нашим добрым старым другом: cat file.txt | base64 --decode > myimage.png;но "он поврежден".

Однако, когда я копирую эту строку, жестко кодирую ее в другое приложение для iOS и пытаюсь ее декодировать, прекрасно работает .

Я надеюсь, что кто-то может помочь.Заранее спасибо.

...