> unix | klassisk | legacy <
// UUencoding – Unix-to-Unix-koding for å sende binærdata over tekstbaserte kanaler
Klassisk Unix-standard
Historisk kodingsskjema som i flere tiår ble brukt i Unix-systemer for e‑postvedlegg, Usenet-innlegg og filoverføring.
God kompatibilitet
Mange Unix/Linux-verktøy og eldre e‑postklienter støtter fremdeles UUencode-formatet.
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
| 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 |
// 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.