Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизАлгоритм кодирование бинарника в строку Найти похожие ветки
← →
Влад (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.184 c