Jakich algorytmów kompresji danych używa RAR?
Dla danych ogólnych RAR używa schematu kompresji opartego o LZSS. Poniżej fragment z FAQ comp.compresion:
>————————————————————————–
Schemat LZSS opisany przez James’a Storera i Thomasa Szymanski w 1982 r. Kompresor zachowuje okno o rozmiarze N-bajtów oraz bufor wyprzedzający, którego zawartość próbuje znaleźć dopasowanie do okna:
while( lookAheadBuffer not empty )
{
get a pointer ( position, match ) to the longest match in the window
for the lookahead buffer;
if( length > MINIMUM_MATCH_LENGTH )
{
output a ( position, length ) pair;
shift the window length characters along;
}
else
{
output the first character in the lookahead buffer;
shift the window 1 character along;
}
}
Dekompresja jest prosta i szybka: Kiedykolwiek (pozycja, długość) para jest napotkana, przejdź do (pozycja) okna i skopiuj (długość) bajtów do danych na wyjściu.
>————————–koniec cytatu————————————
Rozmiar okna do przeszukiwania danych w RAR, znany również pod nazwą słownika, może ulec rozszerzeniu od 64 KB do 4MB. Minimalna długość to 2, specjalne kodowanie jest używane do ulepszenia kompresji przesunięć powtarzalnych. Wyrażenia, przesunięcia i długości są kompresowane następnie za pomocą kodowania Huffmana.
Więcej informacji na temat algorytmów kompresji opartych o LZ, kodowania Huffmana oraz innych technik kompresji można znaleźć w FAQ grupy dyskusyjnej comp.compression. Możną je pobrać ze strony:
ftp://rtfm.mit.edu/pub/usenet/news.answers/compression-faq/
Podobne tematy:
- Jakiego algorytmu szyfrowania używa RAR?
- Czy jest dostępna jakaś biblioteka API lub biblioteka kompresji dla programu RAR?
- Dlaczego WinRAR nie używa słownika 4096 KB w moim archiwum?
- Jak używać RAR dla platformie Mac OS X?
- W jaki sposób format RAR chroni archiwum przed uszkodzeniem?
- Pojawia się komunikat o błędzie “Błąd CRC w nazwie woluminu spakowanych danych. Wolumin jest uszkodzony”.
- Jaka jest struktura nagłówka programu RAR?
- Jaka jest maksymalna długość hasła?
- Jakie systemy operacyjne obsługuje program WinRAR/RAR?
- Jak kompresować pliki w programie Pocket RAR?
