> unix | classico | legacy <

// UUencoding – codifica Unix-to-Unix per la trasmissione di dati binari su canali solo testo

[UNIX]

Standard Unix storico

Metodo di codifica classico utilizzato per decenni nei sistemi Unix per allegati e trasferimenti via e-mail e Usenet.

[COMPATIBILE]

Ampia compatibilità

Supportato nativamente da molti strumenti Unix/Linux e da client di posta elettronica legacy.

[AUTO-CONSISTENTE]

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

NomeDescrizione
Length charbyte count + 32 (45 bytes -> M)
Group3 bytes -> 4 chars, each 6 bits + 32 (space..underscore)
Zero valuebacktick ` instead of space
Lineup to 45 bytes -> 60 chars
Headerbegin 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.

Altre lingue