А что с потерей некоторых символов?24.12.03 12:13 Число просмотров: 2146 Автор: DgtlScrm Статус: Member Отредактировано 24.12.03 12:13 Количество правок: 1
Есть текст запакованный 7 битами, нужно распокавать в обычное представление 8 битное, может, кто сталкивался, подскажите алгоритм... всё, что сам придумал слишком грамоздкое... Заранее спасибо
[C++] Я правильно понял о чем речь? (update)21.12.03 01:34 Автор: Ktirf <Æ Rusakov> Статус: Elderman Отредактировано 21.12.03 01:38 Количество правок: 1
Двоичный код блоками по 7 бит нужно представить блоками по 8?
std::bitset не поможет решению?
Ну или в лоб, ручками битики переписывать... По-моему, не так уж громоздко выходит.
[C++]несовсе, текст запакован, из 160 символов получаем 140 байт, ты так понял?21.12.03 02:20 Автор: CrazyPitbull Статус: Незарегистрированный пользователь
Для сжатия текста в котором только латинские буквы применяется 7 битное представление буквы, т.е. для представления латинской буквы хватит 7 бит из байта, поэтому происходит кадировака по следующему принципу:
Первый байт записывается так:
старший бит берется из младшего бита 2-го байта, 7 остальных бит - биты первого символа.
Второй байт записывается так:
два старших бита берутся из младших разрядов 3-го байта, а шесть младших - из оставшихся битов второго символа и т.д.
Теперь необходимо обратно распокавать, самое простое это убрать по 7 бит и пихать в байт, далее следующие 7 бит и т.д. нет ли какого более быстрого алгоритма?
[C++] А, ну об этом я и подумал.21.12.03 13:36 Автор: Ktirf <Æ Rusakov> Статус: Elderman
> Теперь необходимо обратно распокавать, самое простое это > убрать по 7 бит и пихать в байт, далее следующие 7 бит и > т.д. нет ли какого более быстрого алгоритма? Нет, более быстрого, чем то, что нарисовал Killer, пожалуй, найти нельзя. Ну то есть скажем так, есть std::bitset, в который можно сначала все 7-битники загрузить, а потом прочитать из него же по 8 бит. Выглядеть это будет нагляднее, но работать будет медленнее (кажется). Сорри, что кода не привожу, справочной литературы под рукой нет.
чтото типа такого?..21.12.03 04:39 Автор: Killer{R} <Dmitry> Статус: Elderman
это был не мой вариант, а всего лишь моя редакция23.12.03 11:27 Автор: LLL <Алексей> Статус: Member Отредактировано 23.12.03 11:29 Количество правок: 1
> выглядит правильным, только у src индексом должно быть j, Угу очепятался
> не i, да и по сишному я бы это переписал так: Дык я чтоб нагляднее было постарался )
для наглядности было б еще полезно применить и исходник с отступами сделать :-)22.12.03 21:08 Автор: LLL <Алексей> Статус: Member