Декодирование base64 изображения и сохранение в файл

Я должен сохранить несколько base64 образов от веб-страницы до фактического GIF и файлов JPEG на моем жестком диске. Существует ли утилита там, которая может помочь мне? Я озирался, и или я не вижу один или не выяснил, как использовать тот правильно.

Другими словами, я надеюсь брать изображение, встроенное в эту ссылку на странице:

<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="info" id="ext-gen1128">

.. и сохраните его в файл на моем поле.Спасибо за помощь.

4
задан 02.09.2011, 09:53

5 ответов

Я записал это, чтобы пойти другим путем (img к base64) для изображения URIs. Я уверен, что Вы могли инвертировать это для того, в чем Вы нуждаетесь.

#!/usr/bin/env python
import sys
import os
import base64

if(__name__ == '__main__'):
    arglen = len(sys.argv)
    if arglen > 1:
        imgfile = open(sys.argv[1], 'rb').read()
        b64img = base64.b64encode(imgfile)
        file_name = os.path.splitext(sys.argv[1])
        fname = file_name[0]
        fext = file_name[1]

        b64imgfile = open(fname + fext + '.txt', 'w')
        for line in b64img:
            b64imgfile.write(line)
        print fname
        print fext
        print('done')
    else:
        print('No img file specified!')

Обновление

*Вот некоторый код, который инвертирует вышеупомянутое. Единственный протест состоит в том, что необходимо знать, был ли это png, jpg, и т.д. Это должно быть в данных URI изображений в странице HTML Ваше получение по запросу их от "img src ='data:image/png; base64...". (Я принимаю png ниже), *

#!/usr/bin/env python
import sys
import os
import base64

if(__name__ == '__main__'):
    arglen = len(sys.argv)
    if arglen > 1:
        b64file = open(sys.argv[1], 'rb').read()
        imgData = base64.b64decode(b64file)
        file_name = os.path.splitext(sys.argv[1])
        fname = file_name[0]
        fext = '.png'

        imgFile = open(fname + fext, 'wb')
        imgFile.write(imgData)
        print('done')
    else:
        print('No file specified!')
4
ответ дан 07.12.2019, 19:12

При использовании Общего Командующего это будет декодировать base64/UUE при условии, что Вы сохраняете данные в файл с .b64 или .uue расширением. Winzip и WinRar сделают это также.

2
ответ дан 07.12.2019, 19:12

Существует много инструментов там, которые могут помочь Вам декодировать base64. Как лучше всего загрузить, что-то как этот в основном зависит от того, как Вы добираетесь до него.

Не большая часть веб-трафика является base64, закодированным... в основном, потому что это не очень эффективно, и это нисколько не безопасно. (base64 не шифрование... оно просто затеняет данные для создания его не - человекочитаемым), Если можно получить необработанные потоковые данные к текстовому файлу или некоторые такой... существует несколько способов повторно собрать его. Кроме того, данные не будут содержать информацию о файле... т.е. имени файла, размере, ввести, и т.д.... it'l быть потоком данных... и Вам решать определить, каково это.

Шанс мы можем посмотреть на то, куда данные прибывают из?... это действительно помогло бы дать Вам более соответствующий ответ.

1
ответ дан 07.12.2019, 19:12

При сохранении веб-страницы от веб-браузера, это должно сохранить образы также. В IE Вы выбираете, сохраняют как веб-страница, завершенная. Изображения будут в подпапке и будут в jpg или png формате - соглашения о браузере с любым кодированием, используемым для передачи данных HTTP.

1
ответ дан 07.12.2019, 19:12

Я перешел к странице, на которую Вы указываете на с Chrome. Щелкните правой кнопкой по изображению, Осмотрите элемент... Мы переходим в <img> тег с Base64-закодированным изображением Gif, но это - на самом деле простое 1x1 заполнитель.
Таким образом, мы можем перейти к вкладке Resources Инспектора (рядом с Элементами один), и мы видим изображения интереса в Base64-закодированном PNG.
Нажмите на data:image слева, Вы получаете детали о ресурсе, включая предварительный просмотр. Можно щелкнуть правой кнопкой по предварительному просмотру и сохранить образ...

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

Примечание: Я попробовал иначе: можно скопировать URL ресурсов и вставить их в простом файле HTML с <img src="<base64-encoded data>"> теги. Просмотрите файл HTML в хорошем браузере, и можно сохранить образы путем щелчка правой кнопкой по ним.

2
ответ дан 07.12.2019, 19:12

Теги

Похожие вопросы