MySQL TO_BASE64() 函数

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

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

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

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

TO_BASE64() 语法

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

TO_BASE64(str)

参数

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

返回值

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

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

TO_BASE64() 示例

SELECT
    TO_BASE64('a'),
    TO_BASE64('Hello World'),
    FROM_BASE64(TO_BASE64('Hello World')),
    TO_BASE64(NULl)\G
*************************** 1. row ***************************
                       TO_BASE64('a'): YQ==
             TO_BASE64('Hello World'): SGVsbG8gV29ybGQ=
FROM_BASE64(TO_BASE64('Hello World')): Hello World
                      TO_BASE64(NULl): NULL

注意,如果您使用了 mysql 客户端, FROM_BASE64() 函数结果以十六进制显示。请在登陆时添加 --binary-as-hex=false 选项以禁用将二进制数据使用十六进制显示。