Re: Вопрос: Bit pack метод
Автор: зак, <zaq@pochtamt.ru> Вильнюс, Литва, 26 ноября 2003 года в 06:32:45 В ответ на : Re: Вопрос: Bit pack метод от Sashka Maslukov в 17 ноября 2003 года в 11:55:20: Прошу прощения за долгое отсутствие, я слегка отвлекся. Итак, БитПэк. Опишу подробнее алгоритм, вдруг кому-нибудь пригодится. Считаем колличество разных символов, и записываем его в файл как первый параметр. Также записываем и азбуку найденных символов. Это будет наш хедер. Далее кодируем исходный текст, последовательно складывая полученное, допустим во временный буфер. Каким образом кодируем? Относительно местонахождения символа в хедере. Т.е., если символ находится на первом (разумеется, после первого параметра==длинне азбуки) месте, то его код будет 1, если на втором - 10, третьем - 11, четвертом - 100, пятом - 101, итд. Разумеется, к коду символа следует добать какое-то колличество нулей слева, так образом, чтобы его(кода) длинна соответствовала вычесленной ранее велечине битов, необходимой для кодировки одного символа. С кодировкой все. Далее может возникнуть проблема окончания, или как там. Другими словами, в конце файла нам нужно заполнить до конца биты последнего байта. Предлагаю это сделать следующим образом. Вычисляем число лишних битов, пусть равное х. Если оно >=3, тогда дополняем байт на х-3 нуля, а в последние три бита записываем число неиспользуемых битов. Всем спасибо, в частности, Sashka Maslukov'у. зак. :) |
Ответы:
- Re: Вопрос: Bit pack метод carey-mariah 12:56:39 21/9/2004
(0)
- Re: Vopros: Bit pack metod SPY-FREE 13:15:46 04/9/2004
(0)
- Re: Вопрос: Bit pack метод bb-lolita 03:33:25 04/9/2004
(0)
- Re: Вопрос: Bit pack метод n-interracial 18:50:49 02/9/2004
(0)
Ответить на это сообщение