| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Алгоритм сжатия данных RLE |
| Автор: NEt_Hunter 24.7.2007, 11:48 | ||
| Вопрос по поводу алгоритма сжатия данных RLE, опубликованный тут же по адресу http://forum.vingrad.ru/forum/topic-37776.html#st_15_view_0 Сам код:
Например, пусть задана такая последовательность данных, что подлежит сжатию: 1 1 1 1 2 2 3 4 4 4 В алгоритме RLE предлагается заменить ее следующей структурой: 1 4 2 2 3 1 4 3, где первое число каждой пары чисел - это код данных, а второе - коэффициент повторения. Проблема в том, что при сжатии этой прогой(код выше), эти коэффициенты повторения не видны, вместо них квадратиками или другие символы(нецифры), то есть 1 4 2 2 3 1 4 3 представляется как 1 символ 2 символ 3 символ 4 символ Проблема в кодировке? |
| Автор: JackYF 24.7.2007, 13:37 |
нет. Количество повторений записывается в бинарном формате в виде одного байта. Если число повторений было 3, то записывается байт со значением 3 (служебный символ, на экране не отобразишь). Это сделано для облегчения кода и уменьшения размера файла, нам же архивацию надо делать, не так ли? И программе-распаковщику будет легче считать один байт, чем разбирать строчное выражения и переводить в число. |
| Автор: NEt_Hunter 2.8.2007, 09:49 |
| Все ясно, спасибо за пояснение! |