Sådan bruger du værktøjet
- Vælg Kod for at lave en xxencodet blok, eller Afkod for at omdanne en tilbage til data.
- Lad begin-/end-linjer være slået til, og angiv et navn under Filnavn for at få en komplet blok, eller slå indstillingen fra for kun at få datalinjerne.
- Skriv eller indsæt dit input, eller åbn en fil. Resultatet opdateres, mens du skriver.
- Kopiér resultatet, eller download det. Ved afkodning vælger du Hex under Output som eller downloader filen, hvis dataene ikke er tekst.
Hvad er xxencode?
Xxencode bevarer strukturen fra uuencode og ændrer kun tegnene. Hver gruppe på 3 bytes bliver stadig til fire 6-bit-værdier, datalinjerne indeholder stadig op til 45 bytes efter et længdetegn, og blokken står stadig mellem en begin 644 name-linje og en end-linje.
De 64 værdier svarer til +, -, cifrene 0-9, de store bogstaver A-Z og de små bogstaver a-z i den rækkefølge. Længdetegnet bruger samme tabel, så en fuld linje på 45 bytes begynder med h, og den tomme linje før end er et enkelt +. Da layoutet er identisk, har outputtet samme størrelse som ved uuencode: ca. 38 % større end inputtet, når længdetegn og linjeskift regnes med.
Derfor blev xxencode skabt
Output fra uuencode er fyldt med tegnsætning som [, ], \, ^ og !. IBM-mainframes bruger EBCDIC i stedet for ASCII, og disse tegn står på forskellige pladser i forskellige EBCDIC-tegntabeller. Når e-mail passerede gateways mellem ASCII- og EBCDIC-netværk, kunne sådanne tegn blive oversat forkert, og filen blev ødelagt.
Bogstaver, cifre, plus og minus er de samme i alle EBCDIC-tegntabeller, så xxencodet tekst kan konverteres fejlfrit begge veje. MIME nåede senere samme mål: Base64 bruger også kun bogstaver, cifre og nogle få symboler, der er identiske i ASCII og EBCDIC. Xxencode blev aldrig lige så udbredt som uuencode, og Base64 afløste med tiden dem begge.
Uuencode og xxencode side om side
| Uuencode | Xxencode | |
|---|---|---|
| Tegn | ASCII 32 til 95, backtick for nul | + - 0-9 A-Z a-z |
| En fuld linje på 45 bytes begynder med | M | h |
| Sidste linje før end | ` | + |
| Sikker gennem EBCDIC-gateways | Nej | Ja |
Specifikation
| Alfabet | + - 0-9 A-Z a-z |
|---|---|
| Outputstørrelse | Ca. 137 % inkl. linjepræfikser |
| Udfyldning | Linjer på op til 45 bytes |
| Standard | xxencode |
| Skelner mellem store og små bogstaver | Ja |
Eksempler
| Input (UTF-8) | Output |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
Ofte stillede spørgsmål
Hvordan kender jeg forskel på uuencode og xxencode?
h. Uuencodede linjer indeholder tegnsætning, og fulde linjer begynder med M. Hvis afkodningen her mislykkes med et ugyldigt tegn, så prøv siden uuencode.Skriver værktøjet begin- og end-linjerne?
begin 644 med det filnavn, du indtaster, og de afsluttende linjer. Slå indstillingen begin-/end-linjer fra, hvis du kun har brug for de kodede datalinjer.Kan jeg afkode en blok uden begin-linjen?
Ja. Uden en begin-linje afkodes hver linje, der ikke er tom, som data. Med en begin-linje starter afkodningen efter den og stopper ved end-linjen, så omgivende tekst ignoreres.