Конвертация строковых данных в строку формата base64
Конвертация строковых данных в строку формата base64. Способ N2.
Любые данные (строка, картинка, видео и т.д.) конвертируются в строку формата base64. Рассмотрим пример на строковых данных. У платформы 1С имеется функция Base64Строка на вход которой подаются данные в двоичном виде. Что бы данные привести к двоичному виду, необходимо их записать в файл и создать объект ДвоичныеДанные на основе этого файла.
Алгоритм конвертации
Любые данные (строка, картинка, видео и т.д.) конвертируются в строку формата base64. Рассмотрим пример на строковых данных. У платформы 1С имеется функция Base64Строка на вход которой подаются данные в двоичном виде. Что бы данные привести к двоичному виду, необходимо их записать в файл и создать объект ДвоичныеДанные на основе этого файла.
Алгоритм конвертации
- Записываем строку в текстовый файл с указанием кодировки UTF-8 без BOM (CESU-8);
- Считываем текстовый файл как двоичные данные;
- Передаем двоичные данные в функцию Base64Строка
// Функция преобразует строку в Base64-строку.
//
// Параметры
// Строка - Строка - входная строка.
//
// Возвращаемое значение:
// Строка - строка, закодированная по алгоритму base64.
//
Функция СоздатьСтрокуBase64(Строка) Экспорт
ВременныйФайл = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьТекста(ВременныйФайл, "CESU-8");
ЗаписьТекста.Записать(Строка);
ЗаписьТекста.Закрыть();
ДД_Файла = Новый ДвоичныеДанные(ВременныйФайл);
СтрокаBase64 = Base64Строка(ДД_Файла);
УдалитьФайлы(ВременныйФайл);
Возврат СтрокаBase64;
КонецФункции // СоздатьСтрокуBase64()
Отличный пример. Сам не догадался к своему стыду.
ОтветитьУдалитьПтк = Новый ПотокВПамяти;
ОтветитьУдалитьТекст = Новый ЗаписьТекста(Птк) ;
Текст.Записать(Студент.study_recordbook);
Текст.Закрыть();
ДД = Птк.ЗакрытьИПолучитьДвоичныеДанные();
Строка = Base64Строка(ДД);
Спасибо!
УдалитьДвоичныеДанныеСтроки = Base64Значение(Строка64);
ОтветитьУдалитьИсходнаяСтрока = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанныеСтроки);