Глобальный контекст.ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных

Методы · GetBinaryDataBufferFromHexBinaryDataBuffer

Преобразует буфер двоичных данных из формата Base 16 (Hex) в БуферДвоичныхДанных.

Синтаксис

ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(<Буфер>)
Полное описание, параметры и ограничения

Глобальный контекст.ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных (Global context.GetBinaryDataBufferFromHexBinaryDataBuffer)

Глобальный контекст (Global context)

ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных (GetBinaryDataBufferFromHexBinaryDataBuffer)

Доступен, начиная с версии 8.3.10.

Синтаксис:
ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(<Буфер>)
Параметры:

<Буфер> (обязательный)
Тип: БуферДвоичныхДанных.
Буфер двоичных данных в формате Base 16 (Hex).
Возвращаемое значение:
Тип: БуферДвоичныхДанных.

Описание:

Преобразует буфер двоичных данных из формата Base 16 (Hex) в БуферДвоичныхДанных.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.10.

Методическая информация

Практические примеры

Передать байты как Base64 или показать их в Hex

Для JSON удобно строковое Base64, для диагностики — Hex. Отдельно демонстрируем варианты, где результат хранится буфером или двоичными данными.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Серверный контекст. Учебная строка abc кодируется в UTF-8 без BOM.

  2. В примере стандартное Base64, не вариант base64url для URL или токенов.

Данные = ПолучитьДвоичныеДанныеИзСтроки("abc", КодировкаТекста.UTF8, Ложь);
Буфер = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(Данные);
Base64Текст = ПолучитьBase64СтрокуИзДвоичныхДанных(Данные);
HexТекст = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Сообщить(Base64Текст);
Сообщить(HexТекст);
ИзBase64 = ПолучитьДвоичныеДанныеИзBase64Строки(Base64Текст);
ИзHex = ПолучитьБуферДвоичныхДанныхИзHexСтроки(HexТекст);
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(ИзBase64, КодировкаТекста.UTF8));
Сообщить(ПолучитьСтрокуИзБуфераДвоичныхДанных(ИзHex, КодировкаТекста.UTF8));
Base64Буфер = ПолучитьBase64БуферДвоичныхДанныхИзБуфераДвоичныхДанных(Буфер);
ВосстановленныйБуфер = ПолучитьБуферДвоичныхДанныхИзBase64БуфераДвоичныхДанных(Base64Буфер);
Base64Данные = ПолучитьBase64ДвоичныеДанныеИзДвоичныхДанных(Данные);
ВосстановленныеДанные = ПолучитьДвоичныеДанныеИзBase64ДвоичныхДанных(Base64Данные);
HexБуфер = ПолучитьHexБуферДвоичныхДанныхИзБуфераДвоичныхДанных(Буфер);
БуферПослеHex = ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(HexБуфер);
HexДанные = ПолучитьHexДвоичныеДанныеИзДвоичныхДанных(Данные);
ДанныеПослеHex = ПолучитьДвоичныеДанныеИзHexДвоичныхДанных(HexДанные);
Сообщить(ПолучитьBase64СтрокуИзБуфераДвоичныхДанных(ВосстановленныйБуфер) = Base64Текст);
Сообщить(ПолучитьHexСтрокуИзДвоичныхДанных(ВосстановленныеДанные) = HexТекст);
Сообщить(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферПослеHex, КодировкаТекста.UTF8));
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(ДанныеПослеHex, КодировкаТекста.UTF8));
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки(HexТекст), КодировкаТекста.UTF8));
Сообщить(ПолучитьСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзBase64Строки(Base64Текст), КодировкаТекста.UTF8));
Сообщить(Base64Строка(Данные) = Base64Текст);
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Base64Текст), КодировкаТекста.UTF8));

Разбор по шагам

  1. Получаем три байта abc и показываем строковые Base64 и Hex.

  2. Декодируем строковые представления и проверяем исходный текст.

  3. Буферные и двоичные варианты кодирования содержат символы кодированного представления, а не исходные три байта.

  4. Декодируем каждый вариант; Base64Строка и Base64Значение показывают старые краткие функции для двоичных данных.

Как проверить результат

  1. Base64 равно YWJj, Hex равно 616263.

  2. Все обратные преобразования выводят abc, сравнения представлений дают Истина.

  3. Не передавайте Hex-строку декодировщику Base64: это другой формат и другой смысл байтов.

Ожидаемый результат

Каждый показанный формат восстанавливает исходные байты при использовании парной функции.

На что обратить внимание

  1. Base64 не шифрует и не защищает данные: любой получатель может их восстановить.

  2. Двоичное содержимое Base64Данные — кодированное представление. Для HTTP-заголовка или JSON обычно нужна строковая функция.

  3. При работе с чужим API не заменяйте Base64 на base64url вручную без проверки его контракта.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.