Slik bruker du verktøyet
- Velg Kode for å lage en xxencode-blokk, eller Dekode for å gjøre en blokk om til data igjen.
- La begin- / end-linjer være slått på og fyll inn Filnavn for en komplett blokk, eller slå dem av for å få bare datalinjene.
- Skriv eller lim inn inndataene, eller åpne en fil. Resultatet oppdateres mens du skriver.
- Kopier resultatet eller last det ned. Ved dekoding velger du Hex som utdata eller laster ned filen hvis dataene ikke er tekst.
Hva er xxencode?
Xxencode beholder strukturen i uuencode og endrer bare tegnene. Hver gruppe på 3 byte blir fortsatt fire 6-biters verdier, datalinjene rommer fortsatt opptil 45 byte bak et lengdetegn, og blokken står fortsatt mellom en begin 644 name-linje og en end-linje.
De 64 verdiene tilordnes +, -, sifrene 0-9, de store bokstavene A-Z og de små bokstavene a-z, i den rekkefølgen. Lengdetegnet bruker den samme tabellen, så en full linje på 45 byte begynner med h, og den tomme linjen før end er én enkelt +. Fordi oppbygningen er identisk, blir utdataene like store som med uuencode: omtrent 38 % større enn inndataene, medregnet lengdetegn og linjeskift.
Hvorfor xxencode ble laget
Utdata fra uuencode er fulle av tegnsettingstegn som [, ], \, ^ og !. IBM-stormaskiner bruker EBCDIC i stedet for ASCII, og disse tegnene står på ulike plasser i ulike EBCDIC-tegntabeller. Når e-post gikk gjennom gatewayer mellom ASCII- og EBCDIC-nettverk, kunne slike tegn bli oversatt feil, og filen ble ødelagt.
Bokstaver, sifre, pluss og minus er de samme i alle EBCDIC-tegntabeller, så xxencode-tekst konverteres feilfritt begge veier. MIME nådde senere det samme målet: Base64 bruker også bare bokstaver, sifre og noen få symboler som er identiske i ASCII og EBCDIC. Xxencode ble aldri like utbredt som uuencode, og Base64 erstattet til slutt begge.
Uuencode og xxencode side om side
| Uuencode | Xxencode | |
|---|---|---|
| Tegn | ASCII 32 til 95, backtick for null | + - 0-9 A-Z a-z |
| Full linje på 45 byte begynner med | M | h |
| Siste linje før end | ` | + |
| Trygg gjennom EBCDIC-gatewayer | Nei | Ja |
Spesifikasjon
| Alfabet | + - 0-9 A-Z a-z |
|---|---|
| Utdatastørrelse | Omtrent 137 % inkludert linjeprefikser |
| Utfylling | Linjer på opptil 45 byte |
| Standard | xxencode |
| Skiller store og små bokstaver | Ja |
Eksempler
| Inndata (UTF-8) | Utdata |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
Ofte stilte spørsmål
Hvordan skiller jeg uuencode fra xxencode?
h. Uuencode-linjer inneholder tegnsettingstegn, og fulle linjer begynner med M. Hvis dekodingen her feiler med et ugyldig tegn, kan du prøve siden uuencode.Skriver verktøyet begin- og end-linjene?
begin 644 med filnavnet du skriver inn, og de avsluttende linjene. Slå av valget hvis du bare trenger de kodede datalinjene.Kan jeg dekode en blokk uten begin-linjen?
Ja. Uten begin-linje dekodes hver linje som ikke er tom, som data. Med en begin-linje starter dekodingen etter den og stopper ved end-linjen, slik at tekst rundt blokken ignoreres.