Xxencode og xxdecode

Kod tekst, hex-byte eller filer med xxencode, eller dekod xxencode-blokker tilbake til de opprinnelige dataene. Alfabetet bruker bare bokstaver, sifre, pluss og minus.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Velg Kode for å lage en xxencode-blokk, eller Dekode for å gjøre en blokk om til data igjen.
  2. 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.
  3. Skriv eller lim inn inndataene, eller åpne en fil. Resultatet oppdateres mens du skriver.
  4. 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

UuencodeXxencode
TegnASCII 32 til 95, backtick for null+ - 0-9 A-Z a-z
Full linje på 45 byte begynner medMh
Siste linje før end`+
Trygg gjennom EBCDIC-gatewayerNeiJa

Spesifikasjon

Alfabet+ - 0-9 A-Z a-z
UtdatastørrelseOmtrent 137 % inkludert linjeprefikser
UtfyllingLinjer på opptil 45 byte
Standardxxencode
Skiller store og små bokstaverJa

Eksempler

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

Ofte stilte spørsmål

Hvordan skiller jeg uuencode fra xxencode?
Se på datalinjene. Xxencode-linjer inneholder bare bokstaver, sifre, pluss og minus, og fulle linjer begynner med 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?
Ja, som standard skriver det 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.

Brukes xxencode fortsatt?
Sjelden. Du finner den stort sett i gamle e-post- og nyhetsarkiver. For nye data støttes Base64 nesten overalt og er like trygg for kanaler som bare tåler tekst.