fonction uuencode()
La fonction 'uuencode() encode une valeur binaire en ASCII en utilisant le format UNIX UUencode.
Le codage traduit la valeur binaire en codes de caractères ASCII dans la plage 32 et plus. Historiquement, l'uuencodage est utilisé pour coder les fichiers destinés à être transmis par courrier électronique. La fonction " uudecode() inverse l'effet de la fonction " uuencode(), en recréant exactement le fichier binaire d'origine.
- Divise la valeur binaire en groupes de trois octets (24 bits), en ajoutant des zéros à la fin de la valeur binaire, si nécessaire, pour créer un groupe final de trois octets.
- Divise les 24 bits en quatre groupes de six bits chacun. Cela crée quatre nombres décimaux compris entre 0 et 63.
- Ajoute la décimale 32 à chaque nombre pour créer des caractères ASCII dans la plage 32 (espace) - 95 (trait de soulignement).
| Type de valeur | Caractère d'entrée | Caractère d'entrée | Caractère d'entrée |
|---|---|---|---|
| Entrée ASCII originale | h | a | t |
| ASCII décimal | 104 | 97 | 116 |
| ASCII binaire (8 bits) | 01101000 | 01100001 | 01110100 |
Les étapes 2 et 3 sont illustrées par le tableau suivant. La transformation des trois valeurs binaires ASCII de 8 bits du tableau précédent en quatre valeurs binaires de 6 bits est illustrée dans la première ligne du tableau suivant.
| Type de valeur | Valeur d'entrée | Valeur d'entrée | Valeur d'entrée | Valeur d'entrée |
|---|---|---|---|---|
| binaire à 6 bits | 011010 | 000110 | 000101 | 110100 |
| Équivalent décimal | 26 | 6 | 5 | 52 |
| Décimale + 32 | 58 | 38 | 37 | 84 |
| Uuencodage | : | & | % | T |
Syntaxe
varchar = uuencode(varchar input);
nvarchar = uuencode(nvarchar input);
La valeur " input spécifie la valeur binaire à encoder.
Retours
La fonction renvoie une chaîne de caractères codée.
Pour les fonctions " uuencode() et " uudecode(), les informations d'en-tête de début et de fin sont importantes. Si vous supprimez les informations d'en-tête de la sortie de la fonction " uuencode() et que vous transmettez la chaîne codée à la fonction " uudecode(), la fonction " uudecode() renvoie les informations suivantesERROR: 0 : Invalid UUData.
Exemple
select uuencode ('hat');
UUENCODE
--------------------
begin
#:&%T
'
end
(1 row)