Russian Qt Forum
Сентябрь 21, 2024, 22:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: распаковка архива unix compress  (Прочитано 4252 раз)
n. tr.
Гость
« : Июль 21, 2009, 10:45 »

Нужно распаковывать файлы в таком формате.
Естественно, там нет никакой дополнительной информации, просто файл тупо сжат и всё.
Его успешно распаковывает gzip.
Соотвественно, я понадеялся, что при помощи aUncompress получится сделать это, однако же там ждала засада - выскакивает Z_DATA_ERROR.
К слову, файл, запакованный qCompress ни один архиватор не берёт, хотя при помощи qUncompress (что неудивительно) нормально распаковывается.
В результате гугления, хотя я не очень-то уверен, что правильно всё понял, выяснилось, что разница в порядке следования байт - QT использует BigEndian вместо littleEndian.
Теперь, собственно, вопрос. Как одно переиначить в другое? А если не в этом проблема, то как решить вопрос?
Записан
ритт
Гость
« Ответ #1 : Июль 21, 2009, 10:56 »

qCompress добавляет магию в начало потока
Записан
n. tr.
Гость
« Ответ #2 : Июль 21, 2009, 12:08 »

хм, честно говоря не понял, что имеется в виду.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Июль 21, 2009, 16:39 »

В начало потока добавляется "магическое число".
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
whirlwind
Гость
« Ответ #4 : Июль 21, 2009, 17:42 »

на всякий случай:
Цитировать
Note: If you want to use this function to uncompress external data compressed using zlib, you first need to prepend four bytes to the byte array that contain the expected length (as an unsigned integer) of the uncompressed data encoded in big-endian order (most significant byte first).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.088 секунд. Запросов: 23.