MariaDB TO_BASE64() 函数使用指南

在 MariaDB 中,TO_BASE64() 是一个内置的字符串函数,可将其字符串参数转换为其 base-64 编码形式。

使用 TO_BASE64() 函数编码后的结果可以使用 FROM_BASE64() 函数解码。

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

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

MariaDB TO_BASE64() 语法

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

TO_BASE64(str)

参数

str
必需的。 用于 base-64 编码的字符串。

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

返回值

TO_BASE64(str) 函数将给定字符串以 base-64 形式编码,并返回编码后的字符串表示。

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

MariaDB TO_BASE64() 示例

这个语句使用 MariaDB TO_BASE64() 函数对字符串 hello 进行 base-64 编码:

SELECT TO_BASE64('hello');

输出:

+--------------------+
| TO_BASE64('hello') |
+--------------------+
| aGVsbG8=           |
+--------------------+

注意, TO_BASE64() 函数是区分大小写的,不同大小写的字符串的结果是不同的。下面的示例说明了这一点:

SELECT
  TO_BASE64('hello'),
  TO_BASE64('HELLO');

输出:

+--------------------+--------------------+
| TO_BASE64('hello') | TO_BASE64('HELLO') |
+--------------------+--------------------+
| aGVsbG8=           | SEVMTE8=           |
+--------------------+--------------------+

对于 TO_BASE64() 编码后的结果,您可以使用 FROM_BASE64() 进行解码:

SELECT
  FROM_BASE64('aGVsbG8='),
  FROM_BASE64('SEVMTE8=');

输出:

+-------------------------+-------------------------+
| FROM_BASE64('aGVsbG8=') | FROM_BASE64('SEVMTE8=') |
+-------------------------+-------------------------+
| hello                   | HELLO                   |
+-------------------------+-------------------------+

结论

MariaDB TO_BASE64() 函数返回给定字符串以 base-64 形式编码后的字符串表示。