- 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:
input
Uma cadeia de caracteres ou expressão binária a ser codificada.
Opcional:
max_line_length
Um 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))alphabet
Uma 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:
A
aZ
(índices 0-25)a
az
(índices 26-51)0
a9
(í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
alphabet
sã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
alphabet
para 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 | +-------+---------------+-------------------------------------+