MySQL FROM_BASE64() 函数使用指南
MySQL FROM_BASE64()
函数解码 base-64
编码的数据并将结果作为二进制字符串返回。
FROM_BASE64()
函数可以解码 TO_BASE64()
函数的结果。
不同于现有的 base-64
方案, MySQL TO_BASE64()
和 FROM_BASE64()
函数有些特殊的规则:
- 字母值 62 的编码是
'+'
. - 字母值 63 的编码是
'/'
. - 编码输出由 4 个可打印字符组成。输入数据的每 3 个字节使用 4 个字符进行编码。如果最后一组长度不够 4,则用
'='
字符填充。 - 在编码输出的每 76 个字符之后添加一个换行符,以将长输出分成多行。
- 解码识别并忽略换行符、回车符、制表符和空格。
FROM_BASE64()
语法
这里是 MySQL FROM_BASE64()
函数的语法:
FROM_BASE64(str)
参数
str
- 必需的。 用于
base-64
解码的字符串。
返回值
FROM_BASE64(str)
函数解码 base-64
编码的数据并将结果作为二进制字符串返回。
当参数 str
为 NULL
时, FROM_BASE64()
函数将返回 NULL
。
由于 FROM_BASE64()
函数返回的是二进制字符串,因此在 mysql 客户端显示的结果可能是十六进制内容。请在登陆时使用 --binary-as-hex=false
以禁用将二进制内容显示为十六进制。
FROM_BASE64()
示例
SELECT
TO_BASE64('Hello World'),
FROM_BASE64(TO_BASE64('Hello World')),
FROM_BASE64(NULL)\G
*************************** 1. row ***************************
TO_BASE64('Hello World'): SGVsbG8gV29ybGQ=
FROM_BASE64(TO_BASE64('Hello World')): Hello World
FROM_BASE64(NULL): NULL
如果我们没有禁用 --binary-as-hex
, 则输出为:
*************************** 1. row ***************************
TO_BASE64('Hello World'): SGVsbG8gV29ybGQ=
FROM_BASE64(TO_BASE64('Hello World')): 0x48656C6C6F20576F726C64
FROM_BASE64(NULL): NULL