Конвертор строк в base64 формат

16.10.17

Разработка - Инструментарий разработчика

Кодировщик строки в Base64 формат и декодировщик из Base64 в строку.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Конвертор строк в base64 формат:
.epf 9,83Kb ver:1.0
22 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Обработка демонстрирует пример преобразования строк в строки формата Base64 и обратно тремя различными методами.

Через создание временного файла в файловой системе: не рекомендуется для преобразования большого кол-ва строк, т.к. будете нагружать дисковую подсистему. (После написания обработки выяснилось, что подобный вариант уже есть на ИС: //infostart.ru/public/392252)

Другие 2 метода работают в оперативной памяти:

Свой велосипед: суть такова, что берем строку, преобразуем каждый символ (1с оперирует символами Юникода) в кодировку UTF-8 через манипуляции с байтами и битами (https://ru.wikipedia.org/wiki/Юникод#UTF-8), полученное значение пишем в поток, на его основе создаем двоичные данные, которые преобразуем в строку base64 встроенной функцией 1с. (Возможно, подобный механизм присутствует в //infostart.ru/public/300800)

И после создания своего движка по преобразованию нашел статью //infostart.ru/public/617021, на основе которой представлен 3-й (самый быстрый) метод конвертации: работает это просто - через Чтение/Запись данных и промежуточный поток в памяти.

Во всех трех методах поддерживается полная таблица символов Unicode.

Протестировано на платформе 8.3.10.

Вступайте в нашу телеграмм-группу Инфостарт

Строка Base64 конвертор

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    61105    325    160    

295

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    246958    1359    421    

1132

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    43102    89    27    

102

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22570 руб.

06.10.2023    35642    90    40    

112

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    23784    88    42    

100

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    49996    173    63    

206

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    6584    2    2    

6
Отзывы
2. Armando 1402 16.10.17 23:36 Сейчас в теме
А методы глобального контекста ПолучитьДвоичныеДанныеИзСтроки и ПолучитьСтрокуИзДвоичныхДанных уже не канают?
wowik; bmazniy; manlak; Danil.Potapov; kirillkr; SerVer1C; +6 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kirillkr 30 16.10.17 15:37 Сейчас в теме
Функция СтрокаВBase64(СтрокаДанных) Экспорт

	Поток = Новый ПотокВПамяти;
	Запись = Новый ЗаписьДанных(Поток, КодировкаТекста.UTF8);
	Запись.ЗаписатьСимволы(СтрокаДанных);
	Запись.Закрыть();
	ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
	СтрокаФорматBase64 = Base64Строка(ДвоичныеДанные);
	СтрокаФорматBase64 = СтрЗаменить(СтрокаФорматBase64, Символы.ВК, ""); // убираем ВК
	СтрокаФорматBase64 = СтрЗаменить(СтрокаФорматBase64, Символы.ПС, ""); // убираем ПС

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

КонецФункции

Функция СтрокаИзBase64(СтрокаФорматBase64) Экспорт

	ДвоичныеДанные = Base64Значение(СтрокаФорматBase64);
	Поток = Новый ПотокВПамяти;
	Запись = Новый ЗаписьДанных(Поток, КодировкаТекста.UTF8);
	Запись.Записать(ДвоичныеДанные);
	Запись.Закрыть();
	Данные = Новый ЧтениеДанных(Поток, КодировкаТекста.UTF8);
	СтрокаДанных = "";
	Пока Не Данные.ЧтениеЗавершено Цикл
		СтрокаДанных = СтрокаДанных + Данные.ПрочитатьСтроку();
	КонецЦикла;
	Данные.Закрыть();
	Поток.Закрыть();

	Возврат СтрокаДанных;

КонецФункции

Показать


Данный код работает с версии 8.3.9 или 8.3.10, т.е. там где появились потоки и работа с ними.
GarickRus; maraton1185; +2 Ответить
3. GarickRus 7 22.09.21 15:01 Сейчас в теме
(1)
СтрокаФорматBase64 = СтрЗаменить(СтрокаФорматBase64, Символы.ВК, ""); // убираем ВК
СтрокаФорматBase64 = СтрЗаменить(СтрокаФорматBase64, Символы.ПС, ""); // убираем ПС

Тут важен этот момент.
2. Armando 1402 16.10.17 23:36 Сейчас в теме
А методы глобального контекста ПолучитьДвоичныеДанныеИзСтроки и ПолучитьСтрокуИзДвоичныхДанных уже не канают?
wowik; bmazniy; manlak; Danil.Potapov; kirillkr; SerVer1C; +6 Ответить
Для отправки сообщения требуется регистрация/авторизация