Главная страница
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.036 c
6-1161324846
frEE)styler
2006-10-20 10:14
2007.04.01
подключение через ADO к mssql server 2000


2-1172673794
maxProg
2007-02-28 17:43
2007.04.01
Создание компонентов...


2-1173861867
Нуб
2007-03-14 11:44
2007.04.01
Ручная ли это процедура иль ее создал кто ?


9-1146394032
COMRAD_GREMLIN
2006-04-30 14:47
2007.04.01
проблема с поворотом 2d объекта с текстурой в Opengl


2-1173102019
Ezorcist
2007-03-05 16:40
2007.04.01
Рекция на поворот колеса мыши?