Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изъятие изображения из текстового файла / 15 сообщений из 15, страница 1 из 1
19.11.2015, 06:15
    #39107317
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Приветствую всех форумчан. Доброго времени суток.
Столкнулся с интересной, на мой взгляд, проблемой. Имеется текстовый файл, в который помещено изображение в виде двоичного кода. Ума не приложу, как его оттуда извлечь? Пробовал открывать в текстовом и бинарном режиме, но, если использовать текстовый режим, двоичные данные не сохраняются, а в бинарном режиме не могу определить начало изображения. Есть ли какая-нибудь возможность извлечь это изображение? К слову, удаление текста вручную и сохранение файла с расширением изображения дают желаемый результат. А вот автоматизировать процесс не получается.
...
Рейтинг: 0 / 0
19.11.2015, 09:12
    #39107377
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
IvanCИмеется текстовый файл, в который помещено изображение в виде двоичного кода.
Вероятно, использован некий формат хранения. Он известен?

IvanCудаление текста вручную и сохранение файла с расширением изображения дают желаемый результат.А как это согласуется с тем, что
IvanCесли использовать текстовый режим, двоичные данные не сохраняются
...
Рейтинг: 0 / 0
19.11.2015, 09:21
    #39107381
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Это дамп заливки файла на хостинг. Сверху заголовок, потом сам файл и снизу какой-то текст.
В том и дело, что, если не трогать двоичные данные, а просто удалить текст, то двоичные данные сохраняются, а, если попытаться скопировать двоичные данные из текста, то при вставке в другой файл, от них остается только 2 строки.
...
Рейтинг: 0 / 0
19.11.2015, 13:13
    #39107665
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
IvanCЭто дамп заливки файла на хостинг. Сверху заголовок, потом сам файл и снизу какой-то текст.Образец в студию...

IvanCесли не трогать двоичные данные, а просто удалить текст
Как именно? Я могу слёту назвать пяток разных (идеологически!) способов это проделать - и везде результаты будут разными.
...
Рейтинг: 0 / 0
19.11.2015, 14:00
    #39107746
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Лично я редактировал в NotePad++, просто руками удалял все читаемые строчки, сохранял файл и менял расширение - получал картинку.
...
Рейтинг: 0 / 0
19.11.2015, 14:16
    #39107775
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Так это же обычное письмо.

Можно его загрузить в CDO.Message и повыдергивать файлы через него.
...
Рейтинг: 0 / 0
19.11.2015, 14:18
    #39107776
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Хотя скорее всего не письмо, а post-запрос.
...
Рейтинг: 0 / 0
19.11.2015, 15:02
    #39107820
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
А можно поподробнее про CDO.Message?
...
Рейтинг: 0 / 0
19.11.2015, 16:18
    #39107939
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
IvanCкак его оттуда извлечь?
Ну собсно из структуры хорошо видно, как именно извлекать. "Ограничители" блоков прекрасно детектируются - это 30 символов тире и 12 единиц. Сразу за ними идёт заголовок - описание контента текущего блока. А затем собственно сам блок.
Из заголовка легко извлекаются сведения как об имени файла, так и его тип. Скажем, в данном случае это изображение в формате PNG, файл с именем index.png. Начало файла формата PNG прекрасно опознаётся по сигнатуре 137,80,78,71.
...
Рейтинг: 0 / 0
19.11.2015, 16:31
    #39107969
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Ну про "скобки" я понял, меня больше интересует, как их можно извлечь? пробовал регулярным выражением, да что-то не выходит. Точнее, я преобразовывал весь файл в шестнадцатеричный формат, а потом извлекал в hex и после обратного преобразования вставлял в файл и все получалось, но, с учетом, если файл небольшого размера, а вот большие файлы не конвертируются, да и долго как-то получается.
...
Рейтинг: 0 / 0
19.11.2015, 16:59
    #39108009
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Да просто загрузи весь файл в строковую переменную (если не лезет - буферизуй), split на блоки в массив, а потом каждый блок отдельно обрабатывай. Про регулярки - забудь, каждый тип содержимого придётся извлекать по-своему. Пиши код детекта типа и код извлечения для типа.
...
Рейтинг: 0 / 0
19.11.2015, 21:03
    #39108303
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
IvanC,
вообще, существуют программы для извлечения картинок, звуков и т.д. из двоичных файлов, например Resource Hacker http://www.softportal.com/software-23669-resource-hacker.html
А я попробовал открыть с помощью IrfanView ( http://www.irfanview.com/ ) - получилось!
Соответственно, можно запустить пакетное преобразование всех файлов из какой-то папки и сохранение в .png. Конечно, если в исходном файле картинка была в другом формате, она будет преобразована в .png.
...
Рейтинг: 0 / 0
20.11.2015, 07:38
    #39108469
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
Ок, буду пробовать, отпишусь! Спасибо за помощь!
...
Рейтинг: 0 / 0
20.11.2015, 10:27
    #39108623
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
IvanC,

Если этот файл действительно получен по вебу и первым заголовком идёт "HTTP 200 OK" или похожее на него, то согласно протоколу, данные отделяются от заголовка двумя переводами строк CRLF + CRLF. Из приложенного файла, как раз условие выполняется. Остаётся загрузить всё в переменную, а далее через Mid + Instr обрезать лишнее
...
Рейтинг: 0 / 0
20.11.2015, 10:29
    #39108628
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изъятие изображения из текстового файла
+ Если файлов много и все разного типа, то не проблема читать их заголовка их Mime-Type и на основе него принимать решение о расширении файла, например. Имя файла, в данном конкретном случае тоже имеется
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изъятие изображения из текстового файла / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]