Те, кому часто приходится работать в системе с html-контентом, например, при использовании веб-контролов или при разработке обложек папок, наверно уже заметили, что их очень удобно хранить в системе закодированными в base64. Стандартные функции кодирования/декодирования в/из base64, которые входят в список системных функций кодируют и декодируют строки только в кодировке Windows-1251. Не всегда удобно использовать именно эту кодировку символов, особенно если вы используете какие-то сторонние компоненты, которые обычно имеют кодировку UTF-8. Для возможности кодирования и декодирования строк в других кодировках были разработаны две функции, справка по которым представлена ниже:
Разработку для DIRECTUM 5.2 можно взять тут:
Прикреплен файл: Base64.zip
По ссылке файл не скачать, выдает 404. Выложите, пожалуйста, на гитхаб или еще куда.
Написал свою функцию, получилось что-то типа
Перезалил на клаб
Отлично, спасибо!
Добрый вечер, Дмитрий, чтобы не дублировать вопросы, задам здесь!
Использую ваши функции для раскодирования массив байт, который получаю с помощью объекта IMessage.RawBody.
Получаю иероглифы, TDADecode ругается на неправильный формат base64.
Подскажите пожалуйста, нужно сначала, использовать Encode?
Строка символов, которую вы пытаетесь декодировать должна быть в формате base64. Сомневаюсь, что для работы с IMessage.RawBody вам нужны эти функции, т.к. согласно справке RawBody содержит не строку в формате Base64, а массив байт в формате HTML.
Не подскажете, чем лучше раскодировать? в какую сторону посмотреть?
Авторизуйтесь, чтобы написать комментарий