> unix | klassiskt | legacy <

// UUencoding – Unix-to-Unix-kodning för att överföra binärdata via textbaserade kanaler

[UNIX]

Klassisk Unix-standard

Historisk kodningsmetod som använts i Unix-system i årtionden för e‑postbilagor, Usenet-inlägg och filöverföringar.

[KOMPATIBEL]

Bred kompatibilitet

Stöds fortfarande av många Unix/Linux-verktyg och äldre e‑postklienter som förstår UUencode-formatet.

[SJÄLV-BESKRIVANDE]

Självbeskrivande format

Inkluderar filnamn och rättigheter i begin/end-raderna, så att mottagaren enkelt kan återskapa den ursprungliga filen.

>> teknisk info

Hur UUencoding fungerar:

UUencoding omvandlar binärdata till ASCII-text med hjälp av skrivbara tecken som börjar på mellanslag (ASCII 32). Liksom Base64 kodar det 3 byte till 4 tecken, men använder en annan teckenmängd och lägger filmetadata i begin/end-raderna.

Exempel:

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

Varför använda UUencoding:

  • >För att behålla kompatibilitet med äldre Unix/Linux-skript och arbetsflöden
  • >För att bära med filnamn och rättigheter i textbaserade kanaler
  • >Vid analys av gamla e‑postarkiv, Usenet-flöden och backupfiler
  • >När befintliga system uttryckligen förväntar sig UUencode-formatet
  • >När du behöver reproducera historiska protokoll exakt

>> vanliga frågor

Vad är UUencoding?

UUencoding (Unix-to-Unix encoding) är ett binär‑till‑text-kodningsschema som ursprungligen togs fram för att skicka binära filer via textkanaler som e‑post och Usenet.

Hur skiljer sig UUencoding från Base64?

Båda kodar 3 byte till 4 tecken, men UUencoding använder en annan teckenmängd som börjar vid mellanslag (ASCII 32) och lägger metadata om filen i begin/end-raderna.

Behövs UUencoding fortfarande?

I moderna applikationer dominerar Base64, men UUencode dyker fortfarande upp i äldre system, loggar och dataarkiv där kompatibilitet är viktig.

Vem har nytta av det här verktyget?

Framför allt utvecklare och driftteam som arbetar med legacysystem, e‑postservrar och historiska datauppsättningar.

// Snabbreferens

NamnBeskrivning
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

// Genomgånget exempel

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

>> Fler frågor

F: Vad är UUencode?

S: En historisk Unix-metod (”Unix-to-Unix encode”) som omvandlar binärdata till skrivbara ASCII-tecken för sändning via e-post eller Usenet. 3 byte blir 4 tecken, ungefär 33 % overhead.

F: Hur skiljer sig UUencode från Base64?

S: Båda gör 3 byte till 4 tecken. UUencode lägger till 32 på varje 6-bitarsvärde (tecken från mellanslag till ”_”), Base64 använder A–Z a–z 0–9 + /. UUencode lägger också till ett längdtecken per rad samt begin/end-rader med filnamn och rättigheter.

F: Används UUencode fortfarande?

S: Sällan. MIME med Base64 har till stor del ersatt det i e-post. Man ser det i gamla Usenet-arkiv och Unix-verktygen uuencode/uudecode. För nya ändamål är Base64 bättre.

Andra språk