> unix | klassiskt | legacy <
// UUencoding – Unix-to-Unix-kodning för att överföra binärdata via textbaserade kanaler
Klassisk Unix-standard
Historisk kodningsmetod som använts i Unix-system i årtionden för e‑postbilagor, Usenet-inlägg och filöverföringar.
Bred kompatibilitet
Stöds fortfarande av många Unix/Linux-verktyg och äldre e‑postklienter som förstår UUencode-formatet.
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
| Namn | Beskrivning |
|---|---|
| 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 |
// 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.