La codifica Uuencode/Uudecode

La codifica Uuencode

La codifica Uuencode (abbreviazione di Unix-to-Unix encode) è un algoritmo che permette di convertire dei dati binari codificati su 8 bits in un formato di codifica su 7 bits.

La codifica Uuencode è stata creata in origine per permettere l'invio di file binari grazie al protocollo di posta elettronica uucp.

In effetti, il sistema uucp permetteva di convertire i giochi di caratteri utilizzati fra i diversi sistemi e non permetteva di distinguere i testi del messaggio di un allegato. Così, Uuencode è stato previsto per convertire i file binari in un formato di testo compatibile con la messaggeria e senza comportare i caratteri che rischiano di essere convertiti, cosa che renderà illeggibile l'allegato.

La decodifica che consiste nel ritrovare un file binario partendo da un file Uucodificato è detto Uudecodifica (in inglese Uudecoding).

Formato di un file Uudecodificato

Un file in formato Uuencode comincia con una stringa dal formato seguente :

begin mode nome_del_file

Principio della decodifica Uuencode

La decodifica Uuencode consiste nel prendere dei gruppi di 3 bytes (24 bits) e considerarli come 4 gruppi di 6 bits, rappresentati da dei valori compresi tra 0 e 63. Se ci sono almeno 24 bits nel flusso di entrata, Uuencode completa con degli 0.

Uuencode aggiunge 32 (valore decimale) ad ogni valore, per ottenere un valore corrispondente ad un carattere ASCII stampabile.

I dati sono rappresentati su stringhe di 60 caratteri. Così ogni stringa permette di decodificare 45 bytes di flusso d'entrata dato che 4 bytes di dati in uscita rappresentano 3 bytes di dati in entrata.

Ogni stringa è preceduta da un carattere che indica il numero di caratteri della stringa stessa.

Infine, una stringa che contenga unicamente uno spazio, seguita da una stringa con una catena di caratteri end. Lo spazio che precede la stringa finale è talvolta sostituito da un carattere ASCII 96 (accento grave), dato che alcuni software di messaggeria cancellano le linee vuote.



Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:01


Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.