2015-10-25 3 views
0

В настоящее время я работаю над коротким проектом сжатия текста на основе моего языка. Но как новичок, я также знаю некоторый базовый алгоритм сжатия, такой как LZW. Но я до сих пор не понимаю, как работает smaz. У меня есть 2 вопроса:Как работает библиотека сжатия smaz?

  1. Как работает smaz?
  2. Как создать кодовую книгу и обратную кодовую книгу?

Может ли кто-нибудь объяснить это мне?

спасибо.

ответ

0

smaz sources всего 178 строк и всего 99 строк без комментариев и таблиц кодовой книги. Вы должны посмотреть, как это работает.

Smaz - довольно простое сжатие по кодовой книге (например, LZW, которое вы знаете). Библиотека содержит таблицу с наиболее распространенными терминами на английском языке (строки 5 - 51 для таблицы сжатия и 56 -76 для декомпрессии) и заменяют эти термины на индексы в сжатой строке. И вопреки распаковке.

Например, строка the end будет сжата на 58%, если условия the будут одним байтовым индексом в таблице сжатия. Таким образом, строка длиной в 7 байтов стала длиной в 4 байта.

+0

В теории, о LZW, я могу понять. Но в качестве вопроса я также прочитал исходный код и до сих пор не понимаю, как создать кодовую книгу (значение элемента в этой кодовой книге). –

+0

Посмотрите на https://en.wikipedia.org/wiki/Most_common_words_in_English или в http://www.wordfrequency.info/free.asp – misterion

Смежные вопросы