с Firebird 4.0 ваша версия: любая

BASE64_ENCODE

Версии сервера

2.53.04.05.06.0
−−ДаДаДа

Доступно в

DSQL, PSQL

Формат

BASE64_ENCODE(binary_data)
ПараметрОписание
binary_dataДвоичные данные для кодирования

Описание

Функция BASE64_ENCODE кодирует двоичные данные по алгоритму base64 и возвращает результат в текстовом виде. Тип результата зависит от входного аргумента: для не-BLOB аргументов — VARCHAR CHARACTER SET ASCII, для BLOB — BLOB SUB_TYPE TEXT CHARACTER SET ASCII. Набор символов ASCII гарантирует, что закодированная строка состоит только из переносимых символов, безопасных для хранения и передачи текстовыми протоколами.

Возвращаемое значение при необходимости дополняется знаками =, чтобы длина была кратна четырём, как требует стандарт base64.

Когда входной аргумент не является BLOB, длина результирующего типа вычисляется по формуле type_length * 4 / 3 с округлением вверх до числа, кратного четырём, где type_length — максимальная длина входного типа в байтах: каждые 3 байта исходных данных превращаются в 4 символа.

Типичные применения — передача двоичных данных (хешей, изображений, сериализованных структур) через текстовые каналы: JSON, XML, почту, HTTP-заголовки. Обратное преобразование выполняет BASE64_DECODE; шестнадцатеричный аналог — HEX_ENCODE.

Пример

select base64_encode('Test base64')
from rdb$database;
BASE64_ENCODE
================
VGVzdCBiYXNlNjQ=

Кодирование хеша для текстового отчёта:

select base64_encode(hash_value) as hash_b64
from file_hashes
where file_id = 42;

См. также

BASE64_DECODE, CRYPT_HASH, Встроенные функции по группам

Источник

Руководство по языку SQL СУБД Firebird 5.0 (sim1984 / ibase.ru, Public Documentation License)

Обсуждение