Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Не подскажите, есть ли где-нибудь на свете пример кодировки строки в BASE64 и обратно на Clarion ? Сама алгоритмика, вроде бы, не сложная, но использует битовые операции с которыми я работал последний раз - никогда ... ;(
Алгоритм предназначен для кодирования последовательностей произвольных байтов в строку из алфавитно-цифровых символов.
Алфавит, используемый для этого, следующий:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Как раз 64 символа. Каждые три байта произвольного потока переводятся в четыре буквы алфавита. Три байта – 24 бита – разбиваются на четыре группы по 6 бит, каждая группа представляет собой двоичное число, значение которого принимается за номер символа из алфавита. Нумерация начинается с нуля. Длина получаемой строки всегда кратна четырем. Если длина исходной последовательности (в битах) не была кратна шести, ее остаток дополняется нулевыми битами до 6, чтобы получить последний номер символа. Сама получаемая строка дополняется в этом случае символами = до длины, кратной четырем. (Интересно, что никогда не приходится при этом добавлять 3 знака =.)