Xxencode og xxdecode

Kod tekst, hexbytes eller filer med xxencode, eller afkod xxencodede blokke tilbage til de oprindelige data. Alfabetet bruger kun bogstaver, cifre, plus og minus.

Kører udelukkende i din browser. Intet bliver uploadet.

Sådan bruger du værktøjet

  1. Vælg Kod for at lave en xxencodet blok, eller Afkod for at omdanne en tilbage til data.
  2. 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.
  3. Skriv eller indsæt dit input, eller åbn en fil. Resultatet opdateres, mens du skriver.
  4. 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

UuencodeXxencode
TegnASCII 32 til 95, backtick for nul+ - 0-9 A-Z a-z
En fuld linje på 45 bytes begynder medMh
Sidste linje før end`+
Sikker gennem EBCDIC-gatewaysNejJa

Specifikation

Alfabet+ - 0-9 A-Z a-z
OutputstørrelseCa. 137 % inkl. linjepræfikser
UdfyldningLinjer på op til 45 bytes
Standardxxencode
Skelner mellem store og små bogstaverJa

Eksempler

Input (UTF-8)Output
Hello, World!begin 644 data.bin BG4JgP4wg63RjQalY6E++ + end
Base64.isbegin 644 data.bin 7Ea3nNHMo9aZn + end
你好begin 644 data.bin 4t9qUtOKx + end

Ofte stillede spørgsmål

Hvordan kender jeg forskel på uuencode og xxencode?
Se på datalinjerne. Xxencodede linjer indeholder kun bogstaver, cifre, plus og minus, og fulde linjer begynder med 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?
Ja, som standard skriver det 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.

Bruges xxencode stadig?
Sjældent. Du finder den mest i gamle mail- og nyhedsarkiver. Til nye data er Base64 understøttet næsten overalt og lige så sikker til kanaler, der kun overfører tekst.