Мне нужно прочитать некоторые данные, сохраненные сторонним приложением в базе данных Acess 2000. Продавец больше не собирается задавать вопросы.
Одна таблица содержит данные изображения, которые выглядят сжатыми - поскольку исходное приложение может экспортировать содержимое поля большого двоичного объекта во встроенное изображение png в файле экспорта xls.
Я извлек содержимое записи, используя ADO и Delphi (TADOBlobStream), сохранил его на диск и открыл с помощью шестнадцатеричного редактора.
Первые 100 символов в шестнадцатеричном формате следующие:
F8 1B 00 00 07 C0 24 27 01 40 7F 20 EC 5D 24 2D 88 5C F0 A7 49 91 4A C4 EA 85 D2 98 6A B5 79 D7 B7 2B D5 48 F8 1B 00 00 07 C0 24 27 01 40 7F 20 EC 5D 24 2D 88 5C F0 A7 49 91 4A C4 EA 85 D2 98 6A B5 79 D7 B7 2B D5 48 1A 9A C8 D3 54 E3 A3 E4 F5 29 C6 97 22 95 6A 8E 10 BD 3E 4B 0B 11 AA 6D A8 С6 87 92
Может кто-нибудь сказать мне, если это соответствует обычно используемому алгоритму сжатия. Стороннее приложение, похоже, использует метод кодирования zlib из-за присутствия в его каталоге bin кодировки dll. Но использование zlib для распаковки не дает PNG. К вашему сведению, сохраненный файл составляет около 20% от размера файла PNG, встроенного в XLS.
Спасибо