encode 函数

适用于:Databricks SQL check marked yes Databricks Runtime

使用 charSet 字符编码返回字符串的二进制表示形式。

语法

encode(expr, charSet)

参数

  • expr:要编码的 STRING 表达式。
  • charSet:指定编码的 STRING 表达式。

返回

一个 BINARY

支持以下字符集编码(不区分大小写):

  • 'US-ASCII':七位 ASCII、ISO646-US。
  • 'ISO-8859-1':ISO 拉丁字母第 1 号,ISO-LATIN-1。
  • 'UTF-8':八位 UCS 转换格式。
  • 'UTF-16BE':16 位 UCS 转换格式,big-endian 字节顺序。
  • 'UTF-16LE':16 位 UCS 转换格式、little-endian 字节顺序。
  • 'UTF-16':16 位 UCS 转换格式,字节顺序由可选的字节顺序标记确定。

示例

-- Wrap encode in hex to normalize UI dependent BINARY output.
> SELECT hex(encode('Spark SQL', 'UTF-16'));
 FEFF0053007000610072006B002000530051004C

> SELECT hex(encode('Spark SQL', 'US-ASCII'));
537061726B2053514C

> SELECT decode(X'FEFF0053007000610072006B002000530051004C', 'UTF-16')
 Spark SQL