Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разжать массив в Lz77 / 11 сообщений из 11, страница 1 из 1
20.10.2014, 16:11
    #38782019
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
У меня в байтовом массиве лежит последовательность байт представляющая собой сжатый текст.
Алгоритм LZ77. Пробовал разные библиотеки, ничего не получается. Заголовка архива нет и т.д.
Как ее разжать?
...
Рейтинг: 0 / 0
20.10.2014, 16:21
    #38782035
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Пример сжатого массива нужен.
...
Рейтинг: 0 / 0
20.10.2014, 16:24
    #38782043
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Вот сжатая строка :

Код: c#
1.
eJztzbENwjAQhtFDKVx6hIySzaKM5lEygkuKyIdhAKAE6X2N5dMvvQhJkiRJkiRJ0t+3LT32qLlkjtIj89xLtihnRG1XrMd8RjnnZB5zLK9JXDXn78i+jTmZx9t9bQwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAzGV8anxlN8H4PBYDAYDAaDwWAwGAwGg8FgMCRJ+s0eT1RrLw==



Она в кодировке Base64 и ее надо перекодировать в байтовый массив и дальше с ним работать:

Код: c#
1.
var bytes = Convert.FromBase64String(str);
...
Рейтинг: 0 / 0
20.10.2014, 16:55
    #38782081
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Eolt, SharpZipLib должен помочь.
Лично я распаковал пример через offzip.exe :
offzip.batoffzip -a -z -15 -r -q -Q <filename> <folderToExtract> 0
...
Рейтинг: 0 / 0
20.10.2014, 17:57
    #38782139
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Artem_NavEolt, SharpZipLib должен помочь.
[/quot]

Он только с Zip работает.
...
Рейтинг: 0 / 0
20.10.2014, 18:39
    #38782189
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Eolt, вот:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var bytes = Convert.FromBase64String( ... );
using( var outStream = File.Create( "outFilename.unpack" ) ) {
    using( var iis = new InflaterInputStream( new MemoryStream( bytes ) ) ) {
        var buffer = new byte[ 4096 ];
        StreamUtils.Copy( iis, outStream, buffer );
        iis.Close();
    }
    outStream.Close();
}
...
Рейтинг: 0 / 0
20.10.2014, 19:41
    #38782220
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
EoltОн только с Zip работает.

https://github.com/icsharpcode/SharpZipLib/blob/master/doc/specification/rfc1951.txt This specification defines a lossless compressed data format that compresses data using a combination of the LZ77 algorithm and Huffman coding, with efficiency comparable to the best currently available general-purpose compression methods.
...
Рейтинг: 0 / 0
21.10.2014, 10:39
    #38782535
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Artem_Nav,

Этот код мусор распаковывает. Не то что там должно быть.
...
Рейтинг: 0 / 0
21.10.2014, 10:51
    #38782558
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Странно :)
Результаты распаковки через offzip и этого кода - совпадают.
...
Рейтинг: 0 / 0
21.10.2014, 11:27
    #38782602
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
В запакованном виде там эта строка:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::gL03F03F0H07E0H0IF03FJFE07F0H0JFE07E07FFC0I07E0K0FC0FC001F80I0FC0FE07E07E0H0FC0I07FHFE03F0H0JFE0H0FC0FHFI07FF80FHF03FFE001F8003F0I01F81FC0,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::gL03F03F0iL0FE07E0iK01F81FC0,::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::


а распаковывается точно что-то другое
...
Рейтинг: 0 / 0
21.10.2014, 11:38
    #38782614
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разжать массив в Lz77
Две софтины распаковывют одинаково. Имхо, баг где-то в другом месте. Других идей у меня нет.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разжать массив в Lz77 / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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