Firebird кодирует / декодирует base64 - PullRequest
0 голосов
/ 17 марта 2020

Есть ли какая-либо функция для кодирования / декодирования base 64 в Firebird? В SQL Server есть метод, использующий xml:

declare @source varbinary(max)=convert(varbinary(max),'AbdalrahmanIbnSewareddahab')
SELECT CAST('' AS XML).value('xs:base64Binary(sql:variable(''@source''))','VARCHAR(MAX)') as BASE64_ENCODED;

Результат - QWJkYWxyYWhtYW5JYm5TZXdhcmVkZGFoYWI =

Как это сделать в Firebird (2.5 или 3.0)?

1 Ответ

0 голосов
/ 17 марта 2020

Нет такой встроенной функции в Firebird 3 или более ранней версии. Firebird 4 представит встроенные функции BASE64_ENCODE и BASE64_DECODE для преобразования между двоичными данными и строками в кодировке base64. Однако прямо сейчас Firebird 4 все еще находится в разработке.

Альтернатива состоит в том, чтобы написать его самостоятельно, либо в виде UDF (Firebird 3 и более ранних версий), хранимой процедуры (все версии Firebird), UDR (Firebird 3 и выше), или функция PSQL (Firebird 3 и выше).

...