- Categorias:
Funções de cadeia de caracteres e binários (Codificação/Decodificação)
BASE64_ENCODE¶
Codifica a entrada (cadeia de caracteres ou binária) usando a codificação Base64.
- Consulte também:
Sintaxe¶
BASE64_ENCODE( <input> [ , <max_line_length> ] [ , <alphabet> ] )
Argumentos¶
Obrigatório:
inputUma cadeia de caracteres ou expressão binária a ser codificada.
Opcional:
max_line_lengthUm número inteiro positivo que especifica o número máximo de caracteres em uma única linha da saída.
Padrão:
0(especifica que nenhuma quebra de linha é inserida (ou seja, o comprimento máximo da linha é infinito))alphabetUma cadeia de caracteres que tem até três caracteres ASCII:
Os dois primeiros caracteres na cadeia de caracteres especificam os dois últimos caracteres (índices 62 e 63) no alfabeto usado para codificar a entrada:
AaZ(índices 0-25)aaz(índices 26-51)0a9(índices 52-61)+e/(índices 62, 63)
Padrões:
+e/O terceiro caractere na cadeia de caracteres especifica o caractere usado para preenchimento.
Padrão:
=
Retornos¶
Retorna uma cadeia de caracteres (independentemente de a entrada ter sido uma cadeia de caracteres ou BINARY).
Notas de uso¶
Os caracteres da cadeia de caracteres
alphabetsão analisados em posição; para especificar caracteres diferentes na segunda ou terceira posição da cadeia de caracteres, você deve especificar explicitamente todos os caracteres anteriores, mesmo que deseje usar os padrões.Por exemplo:
+$especifica o padrão (+) para o índice 62 e um caractere diferente ($) para o índice 63; nenhum caractere é explicitamente especificado para preenchimento, portanto o caractere padrão (=) será usado.+/%especifica os padrões (+e/) para índices 62 e 63, e especifica um caractere diferente (%) para preenchimento.
Se você especificar uma cadeia de caracteres
alphabetpara codificarinput, a mesma cadeia de caracteres deve ser usada para decodificarinput.
Para obter mais informações sobre o formato base64, consulte base64.
Retornos¶
Isto retorna uma cadeia de caracteres que contém apenas os caracteres utilizados para a codificação de base64.
Exemplos¶
Codificar uma cadeia de caracteres usando Base64:
SELECT BASE64_ENCODE('Snowflake');
----------------------------+
BASE64_ENCODE('SNOWFLAKE') |
----------------------------+
U25vd2ZsYWtl |
----------------------------+
Codificar uma cadeia de caracteres contendo caracteres não ASCII usando Base64 com ‘$’ no lugar de ‘+’ para codificação, e emitir a cadeia de caracteres com um comprimento máximo de linha de 32:
SELECT BASE64_ENCODE('Snowflake ❄❄❄ Snowman ☃☃☃',32,'$');
---------------------------------------------------+
BASE64_ENCODE('SNOWFLAKE ❄❄❄ SNOWMAN ☃☃☃',32,'$') |
---------------------------------------------------+
U25vd2ZsYWtlIOKdhOKdhOKdhCBTbm93 |
bWFuIOKYg$KYg$KYgw== |
---------------------------------------------------+
Isto mostra outro exemplo de utilização de BASE64_ENCODE (e também BASE64_DECODE_STRING):
Criar uma tabela e dados:
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);Agora execute uma consulta usando
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 | +-------+---------------+-------------------------------------+