> unix | klassisk | legacy <

// UUencoding – Unix-to-Unix-koding for å sende binærdata over tekstbaserte kanaler

[UNIX]

Klassisk Unix-standard

Historisk kodingsskjema som i flere tiår ble brukt i Unix-systemer for e‑postvedlegg, Usenet-innlegg og filoverføring.

[KOMPATIBEL]

God kompatibilitet

Mange Unix/Linux-verktøy og eldre e‑postklienter støtter fremdeles UUencode-formatet.

[SELVBESKRIVENDE]

Selvbeskrivende format

Inneholder filnavn og rettigheter i begin/end-linjene, slik at mottakeren enkelt kan gjenskape originalfilen.

>> teknisk informasjon

Hvordan UUencoding fungerer:

UUencoding gjør binærdata om til ASCII‑tekst ved hjelp av skrivbare tegn som starter på mellomrom (ASCII 32). Akkurat som Base64 koder det 3 byte til 4 tegn, men bruker et annet tegnsett og plasserer filmetadata i begin/end-linjene.

Eksempel:

"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend

Hvorfor bruke UUencoding:

  • >For å bevare kompatibilitet med eldre Unix/Linux-skript og arbeidsflyter
  • >For å sende filnavn og rettigheter gjennom tekstbaserte kanaler
  • >Når du analyserer historiske e‑postarkiv, Usenet-data eller backup-filer
  • >Når eksisterende systemer fortsatt forventer UUencode-format
  • >Når du må reprodusere gamle protokoller og datastrømmer nøyaktig

>> ofte stilte spørsmål

Hva er UUencoding?

UUencoding (Unix-to-Unix encoding) er et binær‑til‑tekst-kodingsskjema som opprinnelig ble utviklet for å sende binære filer over tekstkanaler som e‑post og Usenet.

Hva er forskjellen mellom UUencoding og Base64?

Begge koder 3 byte til 4 tegn, men UUencoding bruker et annet tegnsett som starter på mellomrom (ASCII 32), og legger filmetadata i begin/end-linjene.

Brukes UUencoding fortsatt i dag?

I nye applikasjoner er Base64 vanligere, men UUencode dukker fremdeles opp i eldre systemer, logger og dataarkiv der kompatibilitet er viktig.

Hvem er dette verktøyet for?

For utviklere og driftsteam som jobber med legacysystemer, e‑postservere og historiske datasett, er et pålitelig UUencode‑verktøy fortsatt nyttig.

// Hurtigreferanse

NavnBeskrivelse
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

// Gjennomregnet eksempel

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

>> Flere spørsmål

S: Hva er UUencode?

S: En historisk Unix-metode («Unix-to-Unix encode») som gjør binærdata om til skrivbare ASCII-tegn for sending via e-post eller Usenet. 3 byte blir 4 tegn, omtrent 33 % overhead.

S: Hvordan skiller UUencode seg fra Base64?

S: Begge gjør 3 byte til 4 tegn. UUencode legger til 32 på hver 6-bitsverdi (tegn fra mellomrom til «_»), Base64 bruker A–Z a–z 0–9 + /. UUencode legger også til et lengdetegn per linje samt begin/end-linjer med filnavn og rettigheter.

S: Brukes UUencode fortsatt?

S: Sjelden. MIME med Base64 har i stor grad erstattet det i e-post. Det finnes i gamle Usenet-arkiver og Unix-verktøyene uuencode/uudecode. For nye formål er Base64 bedre.

Andre språk