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

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



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

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

Он только с Zip работает.
...
Рейтинг: 0 / 0
Разжать массив в Lz77
    #38782189
Artem_Nav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Разжать массив в Lz77
    #38782220
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Разжать массив в Lz77
    #38782535
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem_Nav,

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

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


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


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