MariaDB 函数

MariaDB FROM_BASE64() 函数解码给定的 base-64 编码字符串并将结果作为二进制字符串返回。如果参数为 NULL 或不是有效的 base-64 字符串,则结果为 NULL。此函数与 TO_BASE64() 函数相反。

存在不同的 base-64 编码方案。这些是 TO_BASE64() 和 FROM_BASE64() 使用的编码和解码规则:

  • 字母值 62 的编码是"+"。
  • 字母值 63 的编码是"/"。
  • 编码输出组成由四个可打印字符组成的组,每三个字节的数据使用四个字符进行编码。如果最终组不完整,则用"="字符填充,使长度达到 4。
  • 为了分割长输出,每 76 个字符后添加一个换行符。
  • 解码可识别并忽略换行符、回车符、制表符和空格。

语法

FROM_BASE64(string) 

参数

string

必填。 指定base-64编码的字符串。

返回值

以二进制字符串形式返回解码后的字符串。如果参数为 NULL 或不是有效的 base-64 字符串,则返回 NULL。

示例 1:

下面的示例显示 FROM_BASE64() 的用法

SELECT TO_BASE64('Hello');
Result: 'SGVsbG8='

SELECT FROM_BASE64(TO_BASE64('Hello'));
Result: 'Hello'

SELECT FROM_BASE64('SGVsbG8=');
Result: 'Hello' 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

DataEncodedName
Data 1Sm9obg==
Data 2TWFycnk=
Data 3Sm8=
Data 4S2lt
Data 5UmFtZXNo

下面给出的语句可用于解码EncodedName列的记录。此列包含 base-64 编码记录。

SELECT *, FROM_BASE64(EncodedName) AS FROM_BASE64_Value FROM Sample; 

这将产生如下所示的结果:

DataEncodedNameFROM_BASE64_Value
Data 1Sm9obg==John
Data 2TWFycnk=Marry
Data 3Sm8=Jo
Data 4S2ltKim
Data 5UmFtZXNoRamesh