> unix | klassisk | legacy <
// UUencoding – Unix-to-Unix-kodning til overførsel af binære data via tekstkanaler
Klassisk Unix-standard
Historisk kodningsmetode anvendt på Unix-systemer til e‑mail-vedhæftninger, Usenet og filoverførsler.
Bred kompatibilitet
Understøttes stadig af mange Unix/Linux-værktøjer og ældre e‑mailklienter, der forstår UUencode-data.
Selvstændigt format
Indeholder filnavn og rettigheder i begin/end-linjerne, så den oprindelige fil nemt kan genskabes.
>> tekniske detaljer
Sådan fungerer UUencoding:
UUencoding konverterer binære data til ASCII-tekst ved hjælp af udskrivbare tegn, der starter ved mellemrum (ASCII 32). Ligesom Base64 koder det 3 byte til 4 tegn, men benytter et andet tegnsæt og bærer filmetadata i begin/end-linjerne.
Eksempel:
"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend
Hvorfor bruge UUencoding:
- >For at bevare kompatibiliteten med ældre Unix/Linux-scripts og processer
- >For at sende filnavn og rettigheder via rene tekstkanaler
- >Til analyse af gamle e‑mailarkiver og Usenet-data
- >Når eksisterende systemer specifikt forventer UUencode-formatet
- >Til fejlsøgning og migrering af historiske datasæt
>> ofte stillede spørgsmål
Hvad er UUencoding?
UUencoding (Unix-to-Unix encoding) er en binær‑til‑tekst-kodning, der oprindeligt blev udviklet til at sende binære filer over tekstbaserede kanaler som e‑mail og Usenet.
Hvordan adskiller UUencoding sig fra Base64?
Begge koder 3 byte til 4 tegn, men UUencoding bruger et andet tegnsæt, der starter ved mellemrum (ASCII 32), og tilføjer filmetadata i begin/end-linjerne.
Er UUencoding stadig relevant i dag?
I moderne applikationer er Base64 mere udbredt, men UUencode dukker stadig op i ældre systemer, logfiler og arkiver, hvor kompatibilitet er vigtig.
Hvem har gavn af dette værktøj?
Udviklere og systemadministratorer, der arbejder med legacy Unix-miljøer, mailservere og historiske data, vil især have glæde af det.
// Hurtig reference
| Navn | Beskrivelse |
|---|---|
| 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 |
// Gennemregnet 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ørgsmål
S: Hvad er UUencode?
S: En historisk Unix-metode (”Unix-to-Unix encode”), der omdanner binære data til udskrivbare ASCII-tegn til afsendelse via e-mail eller Usenet. 3 byte bliver til 4 tegn, ca. 33 % overhead.
S: Hvordan adskiller UUencode sig fra Base64?
S: Begge gør 3 byte til 4 tegn. UUencode lægger 32 til hver 6-bitsværdi (tegn fra mellemrum til ”_”), Base64 bruger A–Z a–z 0–9 + /. UUencode tilføjer også et længdetegn pr. linje samt begin/end-linjer med filnavn og rettigheder.
S: Bruges UUencode stadig?
S: Sjældent. MIME med Base64 har i vid udstrækning afløst det i e-mail. Det ses i gamle Usenet-arkiver og Unix-værktøjerne uuencode/uudecode. Til nyt er Base64 bedre.