Compartilhar via


Função encode

Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna a representação binária de uma cadeia de caracteres com a codificação de caracteres charSet.

Sintaxe

encode(expr, charSet)

Argumentos

  • expr: uma expressão STRING a ser codificada.
  • charSet: uma expressão STRING que especifica a codificação.

Retornos

Um BINARY.

Há suporte para as seguintes codificações de conjunto de caracteres (sem diferenciação de maiúsculas e minúsculas):

  • 'US-ASCII': ASCII de sete bits, ISO646-US.
  • 'ISO-8859-1': ISO Alfabeto Latino nº 1, ISO-LATIN-1.
  • 'UTF-8': formato de transformação UCS de oito bits.
  • 'UTF-16BE': formato de transformação UCS de dezesseis bits, ordem de byte big endian.
  • 'UTF-16LE': formato de transformação UCS de dezesseis bits, ordem de byte little endian.
  • 'UTF-16': formato de transformação UCS de dezesseis bits, ordem de byte identificada por uma marca de ordem de byte opcional.

Se charSet não for uma codificação com suporte, Azure Databricks gerará INVALID_PARAMETER_VALUE. CHARSET.

Se expr contiver caracteres que não podem ser codificados em charSet, Azure Databricks gerará MALFORMED_CHARACTER_CODING.

Condições de erro comuns

Exemplos

-- 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

-- U+00E9 (é) cannot be encoded in US-ASCII.
> SELECT encode('café', 'US-ASCII');
  Error: MALFORMED_CHARACTER_CODING