Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизКодирование "без нуля" - как оптимальнее? Найти похожие ветки
← →
Grundic © (2004-10-22 22:17) [0]Возникла проблема (как это обычно бывает и у большинства спрашивающих :) - нужно преобразовать массив[255] байт в некий промежуточный не содержащий нули. И потом - обратно в исходный. Как это оптимальнее всего сделать?
ПЛИЗ! САМБАДИ ХЭЛП МИ!!! :)
← →
Anatoly Podgoretsky © (2004-10-22 23:17) [1]if 0 then not нуль, обратно шиш
← →
kaZaNoVa © (2004-10-22 23:27) [2]Grundic © (22.10.04 22:17)
IntToHex
заюзай :)))
← →
Defunct © (2004-10-22 23:33) [3]> Grundic © (22.10.04 22:17)
1. Преобразовать в битовый поток.
2. После каждого идущего подряд 7-го нуля добавлять единичку.
3. При обратном преобразовании выбрасывать единичку после каждых 7-ми идущих подряд нулей.
← →
Grundic © (2004-10-23 01:33) [4]
> Anatoly Podgoretsky, kaZaNoVa
Спасибо! :))
> Defunct
Что (или почти "что") и сделал:
http://www.rsdn.ru/Forum/Message.aspx?mid=865084&only=1
← →
Defunct © (2004-10-23 04:41) [5]> Что (или почти "что") и сделал
Эээ выглядит просто жутко.
Понять алгоритм работы при такой реализации практически невозможно.
Я бы на вашем месте сделал бы более универсально. Скажем так, создал бы класс, у которого в качестве свойств были бы 2 потока (TStream). Обычный и без нулей. Создал бы 4 метода чтения потока любой длинны (а не только 255 байт) и преобразования.TConverter = class
private
...
public
property RealStream: TStream Read GetRealStream Write SetRealStream;
property ZeroFreeStream: TStream Read GetZeroFreeStream Write SetZeroFreeStream;
...
End;
И преобразование бы делал по какому-то стандартному протоколу, например, протокол телемеханики "Гранит" http://www.iface.ru/grandesc.htm или подобному.
← →
Sha © (2004-10-23 11:29) [6]> Grundic © (22.10.04 22:17)
Массив[255] байт
1. или уже не содержит нуля (и тогда все OK)
2. или существует некоторый ненулевой символ, которого нет в этом массиве (и тогда XOR с этим символов делает весь массив ненулевым).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c