Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

Алгоритм кодирование бинарника в строку   Найти похожие ветки 

 
Влад   (2007-03-09 17:33) [0]

Здраствуйте!

Меня интересует алгоритм кодирования бинарных данных в строку с произвольным
набором символов, т.е. что-то наподобие UUE или base64, но более гибкое.

function StrDataEncode(var Data; Size: Integer; const CS: set of Char):
String;

Поискал в инете, но ничего вразумительного не нашёл. Может кто-нибудь ткнёт
пальцем куда смотреть?

Заранее спасибо.


 
Джо ©   (2007-03-09 17:53) [1]

> кодирования бинарных данных в строку с произвольным
> набором символов, т.е. что-то наподобие UUE или base64,
> но более гибкое.

Что тут имеется ввиду?
С таком постановкой вопроса не удивительно, что

> ничего вразумительного не нашёл


 
Влад   (2007-03-09 18:01) [2]

Попробую по другому объяснить.
Процедура должна напоминать перевод значения из двоичной системы в систему с произвольным основанием, например в 33-ричную.
Мне интересен алгоритм применимый для блоков данных (в смысле не Int).


 
Джо ©   (2007-03-09 18:05) [3]

Что значит «напоминать»?
Ну, посмотри, например BinToHex.
Думаю, попытка объяснить еще раз провалилась :)


 
Влад   (2007-03-12 10:43) [4]

Нужен именно BinTo???, где в качестве параметра передается основание системы счисления.

Есть еще какие-нибудь здравые идеи?


 
Сергей М. ©   (2007-03-12 10:46) [5]


> Влад   (12.03.07 10:43) [4]


Что мешает написать такую функцию для любого основания, по аналогии с BinToHex, исходники которой у тебя перед глазами ?


 
Влад   (2007-03-12 10:59) [6]

Проблема в том, что например, при переводе в десятичную систему 1 цифра не соответствует целому числу бит.
Если реализовывать в лоб, то необходимо целочисленно делить исходные данные на основание и брать остаток, который и будет очередной цифрой, но как делить числа неограниченного размера (8 и более байт) я что-то придумать не могу :( Да и быстро работать это не будет.
Вот, собственно, и возник вопрос. Наверняка должен быть алгоритм, который позволяет это сделать быстро и просто.


 
Сергей М. ©   (2007-03-12 11:12) [7]

Без реализации "в лоб" тут никак не обойтись.
Задумайся над традиционным "делением в столбик"



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
2-1173288978
Chaval'
2007-03-07 20:36
2007.04.01
Сохранение файла


15-1173064444
Slider007
2007-03-05 06:14
2007.04.01
С днем рождения ! 3 марта


2-1173152733
Интересующийся
2007-03-06 06:45
2007.04.01
Два вопроса про форму


2-1173265916
ы
2007-03-07 14:11
2007.04.01
как можно создать несколько картинок на канве


2-1173124649
bagos
2007-03-05 22:57
2007.04.01
dbgrid