- 类别:
字符串和二进制函数 (编码/解码)
BASE64_ENCODE¶
使用 Base64 编码对输入(字符串或二进制值)进行编码。
语法¶
BASE64_ENCODE( <input> [ , <max_line_length> ] [ , <alphabet> ] )
实参¶
必填:
input
要编码的字符串或二进制表达式。
可选:
返回¶
返回字符串(无论输入是字符串还是 BINARY
)。
使用说明¶
alphabet
字符串中的字符是按位置解析的;要在字符串的第二或第三位置指定不同的字符,必须明确指定所有前面的字符,即使希望使用默认值也一样。例如:
+$
为索引 62 指定默认字符 (+
),为索引 63 指定不同字符 ($
);没有为填充明确指定字符,因此使用默认字符 (=
)。+/%
为索引 62 和 63 指定默认字符(+
和/
),并为填充指定不同字符 (%
)。
如果指定
alphabet
字符串来对input
进行编码,则 必须 使用同一个字符串对input
进行解码。
有关 base64 格式的更多信息,请参阅 base64。
返回¶
这将返回一个字符串,它仅包含用于 base64 编码的字符。
示例¶
使用 Base64 对字符串进行编码:
SELECT BASE64_ENCODE('Snowflake');
----------------------------+
BASE64_ENCODE('SNOWFLAKE') |
----------------------------+
U25vd2ZsYWtl |
----------------------------+
使用 Base64 对包含非 ASCII 字符的字符串进行编码(用“$”代替“+”进行编码),并输出最大行长度为 32 的字符串:
SELECT BASE64_ENCODE('Snowflake ❄❄❄ Snowman ☃☃☃',32,'$');
---------------------------------------------------+
BASE64_ENCODE('SNOWFLAKE ❄❄❄ SNOWMAN ☃☃☃',32,'$') |
---------------------------------------------------+
U25vd2ZsYWtlIOKdhOKdhOKdhCBTbm93 |
bWFuIOKYg$KYg$KYgw== |
---------------------------------------------------+
这显示了使用 BASE64_ENCODE``(以及 ``BASE64_DECODE_STRING
)的另一个示例:
创建表和数据:
CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR); INSERT INTO base64_table (v) VALUES ('HELLO'); UPDATE base64_table SET base64_string = BASE64_ENCODE(v);现在使用
BASE64_DECODE_STRING
运行查询:SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) FROM base64_table; +-------+---------------+-------------------------------------+ | V | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) | |-------+---------------+-------------------------------------| | HELLO | SEVMTE8= | HELLO | +-------+---------------+-------------------------------------+