funzione uuencode()
La funzione 'uuencode() codifica un valore binario come ASCII utilizzando il formato UNIX UUencode.
La codifica traduce il valore binario in codici di caratteri ASCII nell'intervallo 32 e oltre. Storicamente, la codifica uuen viene utilizzata per codificare i file destinati alla trasmissione via e-mail. La funzione 'uudecode() inverte l'effetto della funzione 'uuencode(), ricreando esattamente il file binario originale.
- Divide il valore binario in gruppi di tre byte (24 bit), aggiungendo zeri alla fine del valore binario, se necessario, per creare un gruppo finale di tre byte.
- Suddivide i 24 bit in quattro gruppi di sei bit ciascuno. In questo modo si creano quattro numeri decimali nell'intervallo 0-63.
- Aggiunge 32 decimali a ciascun numero per creare caratteri ASCII nell'intervallo 32 (spazio) - 95 (trattino basso).
| Tipo di valore | Carattere di ingresso | Carattere di ingresso | Carattere di ingresso |
|---|---|---|---|
| Ingresso originale ASCII | h | a | t |
| ASCII decimale | 104 | 97 | 116 |
| ASCII binario (8 bit) | 01101000 | 01100001 | 01110100 |
Le fasi 2 e 3 sono illustrate nella tabella seguente. La trasformazione dei tre valori binari ASCII a 8 bit della tabella precedente in quattro valori binari a 6 bit è mostrata nella prima riga della tabella seguente.
| Tipo di valore | Valore di input | Valore di input | Valore di input | Valore di input |
|---|---|---|---|---|
| binario a 6 bit | 011010 | 000110 | 000101 | 110100 |
| Equivalente decimale | 26 | 6 | 5 | 52 |
| Decimale + 32 | 58 | 38 | 280 | 84 |
| Uuencoding | : | & | % | T |
Sintassi
varchar = uuencode(varchar input);
nvarchar = uuencode(nvarchar input);
Il valore " input specifica il valore binario da codificare.
Risultati
La funzione restituisce una stringa codificata.
Per le funzioni " uuencode() e " uudecode(), le informazioni di intestazione iniziale e finale sono importanti. Se si rimuovono le informazioni di intestazione dall'uscita della funzione 'uuencode() e si passa la stringa codificata alla funzione 'uudecode(), la funzione 'uudecode() restituisceERROR: 0 : Invalid UUData.
Esempio
select uuencode ('hat');
UUENCODE
--------------------
begin
#:&%T
'
end
(1 row)