Sdílet prostřednictvím


Funkce encode

Platí pro:zaškrtnuté ano Databricks SQL zaškrtnuté ano Databricks Runtime

Vrátí binární reprezentaci řetězce pomocí charSet kódování znaků.

Syntaxe

encode(expr, charSet)

Argumenty

  • expr: Výraz STRING , který se má zakódovat.
  • charSet: Výraz STRING určující kódování.

Návraty

Úloha BINARY.

Podporují se následující kódování znakové sady (nerozlišují malá a velká písmena):

  • 'US-ASCII': Sedmibitový ASCII (American Standard Code for Information Interchange), ISO646-US.
  • 'ISO-8859-1': ISO Latin Alfabeta č. 1, ISO-LATIN-1.
  • 'UTF-8': Osmibitový formát transformace UCS.
  • 'UTF-16BE': Šestnáctibitový formát transformace UCS, pořadí bajtů big-endian.
  • 'UTF-16LE': Šestnáctibitový formát transformace UCS, malé-endové bajtové pořadí.
  • 'UTF-16': Šestnáctibitový formát transformace UCS, pořadí bajtů identifikované volitelným znakem pořadí bajtů.

Pokud charSet není podporované kódování, Azure Databricks vyvolá INVALID_PARAMETER_VALUE. ZNAKSET.

Pokud expr obsahuje znaky, které nelze kódovat v charSet, Azure Databricks vyvolá MALFORMED_CHARACTER_CODING.

Běžné chybové podmínky

Příklady

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