- Catégories :
Fonctions de chaîne et fonctions binaires (Encodage/Décodage)
BASE64_ENCODE¶
Encode l’entrée (chaîne ou binaire) en utilisant l’encodage Base64.
- Voir aussi :
Syntaxe¶
BASE64_ENCODE( <input> [ , <max_line_length> ] [ , <alphabet> ] )
Arguments¶
Obligatoire :
input
Une chaîne ou une expression binaire à encoder.
Facultatif :
max_line_length
Un entier positif spécifiant le nombre maximal de caractères sur une seule ligne de la sortie.
Par défaut :
0
(spécifie qu’aucun saut de ligne n’est inséré (c’est-à-dire que la longueur de ligne maximale est infinie)).alphabet
Une chaîne composée de trois caractères ASCII maximum :
Les deux premiers caractères de la chaîne spécifient les deux derniers caractères (index 62 et 63) de l’alphabet utilisé pour coder l’entrée :
A
àZ
(index 0-25)a
àz
(index 26-51)0
à9
(index 52-61)+
et/
(index 62, 63)
Valeurs par défaut :
+
et/
Le troisième caractère de la chaîne spécifie le caractère utilisé pour le remplissage.
Par défaut :
=
Renvoie¶
Renvoie une chaîne (que l’entrée soit une chaîne ou BINARY
).
Notes sur l’utilisation¶
Les caractères de la chaîne
alphabet
sont analysés en ce qui concerne leur position ; pour spécifier des caractères différents à la deuxième ou troisième position de la chaîne, vous devez spécifier explicitement tous les caractères précédents, même si vous souhaitez utiliser les valeurs par défaut.Par exemple :
+$
spécifie la valeur par défaut (+
) pour l’index 62 et un caractère différent ($
) pour l’index 63 ; aucun caractère n’est explicitement spécifié pour le remplissage, donc le caractère par défaut (=
) est utilisé.+/%
spécifie les valeurs par défaut (+
et/
) pour les index 62 et 63 et spécifie un caractère différent (%
) pour le remplissage.
Si vous spécifiez une chaîne
alphabet
pour encoderinput
, la même chaîne doit être utilisée pour décoderinput
.
Pour plus d’informations sur le format base64, voir base64.
Renvoie¶
Cela renvoie une chaîne contenant uniquement les caractères utilisés pour l’encodage base64.
Exemples¶
Encodez une chaîne en utilisant Base64 :
SELECT BASE64_ENCODE('Snowflake');
----------------------------+
BASE64_ENCODE('SNOWFLAKE') |
----------------------------+
U25vd2ZsYWtl |
----------------------------+
Encodez une chaîne contenant des caractères non ASCII en utilisant Base64 avec “$” à la place de “+” pour l’encodage, puis indiquez la chaîne avec une longueur de ligne maximale de 32 :
SELECT BASE64_ENCODE('Snowflake ❄❄❄ Snowman ☃☃☃',32,'$');
---------------------------------------------------+
BASE64_ENCODE('SNOWFLAKE ❄❄❄ SNOWMAN ☃☃☃',32,'$') |
---------------------------------------------------+
U25vd2ZsYWtlIOKdhOKdhOKdhCBTbm93 |
bWFuIOKYg$KYg$KYgw== |
---------------------------------------------------+
Cela montre un autre exemple d’utilisation de BASE64_ENCODE
(et aussi de BASE64_DECODE_STRING
) :
Créez une table et des données :
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);Exécuter maintenant une requête en utilisant
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 | +-------+---------------+-------------------------------------+