Xxencode och xxdecode

Koda text, hexbyte eller filer med xxencode, eller avkoda xxencode-block tillbaka till ursprungsdatan. Alfabetet består bara av bokstäver, siffror, plus och minus.

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Välj Koda för att skapa ett xxencode-block, eller Avkoda för att göra om ett block till data igen.
  2. Låt begin-/end-rader vara påslaget och ange ett namn under Filnamn för ett komplett block, eller slå av alternativet om du bara vill ha dataraderna.
  3. Skriv eller klistra in indata, eller öppna en fil. Resultatet uppdateras medan du skriver.
  4. Kopiera resultatet eller ladda ned det. Vid avkodning väljer du Hex som utdata eller laddar ned filen om datan inte är text.

Vad är xxencode?

Xxencode behåller strukturen i uuencode och ändrar bara tecknen. Varje grupp om 3 byte blir fortfarande fyra 6-bitarsvärden, dataraderna rymmer fortfarande upp till 45 byte efter ett längdtecken, och blocket ligger fortfarande mellan en rad begin 644 name och en rad end.

De 64 värdena motsvaras av +, -, siffrorna 0-9, versalerna A-Z och gemenerna a-z, i den ordningen. Längdtecknet använder samma tabell, så en full rad på 45 byte börjar med h, och den tomma raden före end är ett enda +. Eftersom strukturen är identisk blir utdatan lika stor som med uuencode: cirka 38 % större än indatan, räknat med längdtecken och radbrytningar.

Varför xxencode skapades

Utdata från uuencode är full av skiljetecken som [, ], \, ^ och !. IBM:s stordatorer använder EBCDIC i stället för ASCII, och de här tecknen ligger på olika positioner i olika EBCDIC-teckentabeller. När e-post passerade gateways mellan ASCII- och EBCDIC-nätverk kunde sådana tecken översättas fel, och filen blev skadad.

Bokstäver, siffror, plus och minus är desamma i alla EBCDIC-teckentabeller, så text som kodats med xxencode konverteras korrekt åt båda hållen. MIME nådde senare samma mål: Base64 använder också bara bokstäver, siffror och några få symboler som är identiska i ASCII och EBCDIC. Xxencode blev aldrig lika vanligt som uuencode, och Base64 ersatte så småningom båda.

Uuencode och xxencode sida vid sida

UuencodeXxencode
TeckenASCII 32 till 95, grav accent för noll+ - 0-9 A-Z a-z
En full rad på 45 byte börjar medMh
Sista raden före end`+
Klarar EBCDIC-gatewaysNejJa

Specifikation

Alfabet+ - 0-9 A-Z a-z
UtdatastorlekCirka 137 % inklusive radprefix
UtfyllnadRader på högst 45 byte
Standardxxencode
SkiftlägeskänsligJa

Exempel

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

Vanliga frågor

Hur skiljer jag uuencode från xxencode?
Titta på dataraderna. Rader kodade med xxencode innehåller bara bokstäver, siffror, plus och minus, och fulla rader börjar med h. Rader kodade med uuencode innehåller skiljetecken, och fulla rader börjar med M. Om avkodningen här misslyckas med ett ogiltigt tecken kan du prova sidan uuencode.
Skriver verktyget begin- och end-raderna?
Ja, som standard skriver det begin 644 med det filnamn du anger, samt de avslutande raderna. Slå av alternativet om du bara behöver de kodade dataraderna.
Kan jag avkoda ett block utan begin-raden?

Ja. Utan begin-rad avkodas varje rad som inte är tom som data. Med en begin-rad börjar avkodningen efter den och slutar vid end-raden, så omgivande text ignoreras.

Används xxencode fortfarande?
Sällan. Du hittar det mest i gamla e-post- och nyhetsgruppsarkiv. För ny data stöds Base64 nästan överallt och är lika säker för kanaler som bara klarar text.