Конвертация строковых данных в строку формата base64. Способ N2.

Как конвертировать строковые данные в строку формата base64 с помощью стандартных средств платформы 1С описано в этом сообщении: Конвертация строковых данных в строку формата base64. Плюс данного решения - это использование стандартных средств, то есть ничего устанавливать дополнительно не надо. Минус - это наличие файловой операции, которая занимает определенное время выполнения.

Имеется второй вариант решения данной задачи - прибегнуть к использованию библиотеки CAPICOM. Как регистрировать библиотеку и почему её использование не рекомендуется описано в этой статье: Вычисление хэш-сумм MD, SHA при помощи CAPICOM.

Библиотека CAPICOM имеет объект Utilities, у которого ProgID равен CAPICOM.Utilities.1. Этот объект имеет метод Base64Encode, в который передается строка, на выходе получаем строку формата base64. Перед вызовом метода, исходную строку следует привести к кодировке UTF-8.

Функция конвертирования:
// Функция конвертирует строку в строку формата base64.
//
// Параметры
//  Строка  - Строка - исходная строка.
//
// Возвращаемое значение:
//   строка   - строка в формате base64.
//
Функция СоздатьСтрокуBase64(Строка) Экспорт

UTF8Enc = Новый COMОбъект("System.Text.UTF8Encoding");
Util = Новый COMОбъект("CAPICOM.Utilities.1");

СтрокаBase64 = util.Base64Encode(UTF8Enc.GetBytes_4(Строка));
СтрокаBase64 = СтрЗаменить(СтрокаBase64, Символы.ПС, "");
СтрокаBase64 = СтрЗаменить(СтрокаBase64, Символы.ВК, "");

Возврат СтрокаBase64;

КонецФункции // СоздатьСтрокуBase64()


Минус данного решения - необходима установка библиотеки CAPICOM. Если функция вызывается на сервере в клиент-серверном режиме работы, то установка требуется только на машине, где установлен сервер 1С:Предприятие.

Результат работы функции:
Пример конвертации строки "123" в base64
Обработку можно скачать по этой ссылке.

Комментарии