MariaDB FROM_BASE64() 函数使用指南

在 MariaDB 中,FROM_BASE64() 是一个内置的字符串函数,它用于解码给定的 base-64 编码字符串并将结果作为二进制字符串返回。

FROM_BASE64() 函数可用于解码 TO_BASE64() 函数的结果。

不同于现有的 base-64 方案, MariaDB TO_BASE64()FROM_BASE64() 函数有些特殊的规则:

  • 字母值 62 的编码是 '+'.
  • 字母值 63 的编码是 '/'.
  • 编码输出由 4 个可打印字符组成。输入数据的每 3 个字节使用 4 个字符进行编码。如果最后一组长度不够 4,则用 '=' 字符填充。
  • 在编码输出的每 76 个字符之后添加一个换行符,以将长输出分成多行。
  • 解码识别并忽略换行符、回车符、制表符和空格。

MariaDB FROM_BASE64() 语法

这里是 MariaDB FROM_BASE64() 函数的语法:

FROM_BASE64(str)

参数

str
必需的。 一个 base-64 编码后的字符串。

如果您没有提供参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FROM_BASE64'

返回值

MariaDB FROM_BASE64(str) 函数解码 base-64 编码的数据并将结果作为二进制字符串返回。

当参数 strNULL 时, FROM_BASE64() 函数将返回 NULL

由于 FROM_BASE64() 函数返回的是二进制字符串,因此在 mysql 客户端显示的结果可能是十六进制内容。请在登陆时使用 --binary-as-hex=false 以禁用将二进制内容显示为十六进制。

MariaDB FROM_BASE64() 示例

基本示例

下面的示例展示了 MariaDB FROM_BASE64() 函数的基本用法

SELECT
  TO_BASE64('Hello'),
  FROM_BASE64(TO_BASE64('Hello'));

结果:

+--------------------+---------------------------------+
| TO_BASE64('Hello') | FROM_BASE64(TO_BASE64('Hello')) |
+--------------------+---------------------------------+
| SGVsbG8=           | Hello                           |
+--------------------+---------------------------------+

在本示例中,我们使用了 TO_BASE64() 函数编码了字符串 Hello

空值

当参数 strNULL 时, FROM_BASE64() 函数将返回 NULL

SELECT FROM_BASE64(null);

结果:

+-------------------+
| FROM_BASE64(null) |
+-------------------+
| NULL              |
+-------------------+

结论

MariaDB FROM_BASE64() 函数解码 base-64 编码后的数据并将结果作为二进制字符串返回。