> unix | classico | legacy <
// UUencoding – codifica Unix-to-Unix per la trasmissione di dati binari su canali solo testo
Standard Unix storico
Metodo di codifica classico utilizzato per decenni nei sistemi Unix per allegati e trasferimenti via e-mail e Usenet.
Ampia compatibilità
Supportato nativamente da molti strumenti Unix/Linux e da client di posta elettronica legacy.
Formato auto‑contenuto
Include permessi e nome del file nell'output codificato, semplificando il ripristino del file originale.
>> dettagli tecnici
Come funziona UUencoding:
UUencoding converte i dati binari in testo ASCII usando caratteri stampabili a partire dallo spazio (ASCII 32). Come Base64, codifica 3 byte in 4 caratteri, ma utilizza un set di caratteri diverso e linee begin/end che includono i metadati del file.
Esempio:
"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend
Perché usare UUencoding:
- >Compatibilità con script e pipeline Unix legacy
- >Conserva permessi e nome dei file
- >Utile per ispezionare allegati e archivi storici
- >Adatto quando strumenti esistenti si aspettano UUencode
- >Buona scelta per canali solo testo tradizionali
>> domande frequenti
Che cos'è UUencoding?
UUencoding (Unix‑to‑Unix encoding) è uno schema di codifica da binario a testo usato storicamente per trasferire file binari su canali solo testo come e‑mail e Usenet.
In cosa differisce UUencoding da Base64?
Entrambi codificano 3 byte in 4 caratteri, ma UUencoding usa un set di caratteri diverso che parte dallo spazio (ASCII 32) e aggiunge permessi e nome del file nelle righe begin/end.
Quando dovrei usare UUencoding oggi?
Quando lavori con sistemi Unix legacy, script esistenti o archivi storici che fanno ancora affidamento su UUencode.
UUencoding è ancora rilevante?
Base64 è lo standard moderno, ma UUencoding rimane importante in alcuni strumenti Unix/Linux e nei flussi di lavoro più vecchi.
// Riferimento rapido
| Nome | Descrizione |
|---|---|
| Length char | byte count + 32 (45 bytes -> M) |
| Group | 3 bytes -> 4 chars, each 6 bits + 32 (space..underscore) |
| Zero value | backtick ` instead of space |
| Line | up to 45 bytes -> 60 chars |
| Header | begin 644 filename |
| Trailer | ` line, then end |
// Esempio svolto
Input Cat (0x43 0x61 0x74) Bits 010000 110110 000101 110100 = 16 54 5 52 +32 48 86 37 84 -> 0 V % T Line #0V%T (# = 3 bytes + 32) begin 644 cat.txt #0V%T ` end
>> Altre domande
D: Cos’è UUencode?
R: Un metodo storico di Unix («Unix-to-Unix encode») che converte dati binari in caratteri ASCII stampabili per inviarli via e-mail o Usenet. 3 byte diventano 4 caratteri, con ~33 % di sovraccarico.
D: In cosa UUencode differisce da Base64?
R: Entrambi convertono 3 byte in 4 caratteri. UUencode somma 32 a ogni valore di 6 bit (caratteri dallo spazio a «_»), Base64 usa A–Z a–z 0–9 + /. UUencode aggiunge anche un carattere di lunghezza per riga e righe begin/end con nome file e permessi.
D: UUencode è ancora usato?
R: Raramente. MIME con Base64 l’ha in gran parte sostituito nell’e-mail. Si trova ancora in vecchi archivi Usenet e negli strumenti Unix uuencode/uudecode. Per nuovi usi è meglio Base64.