Så använder du verktyget
- Välj Koda för att skapa ett xxencode-block, eller Avkoda för att göra om ett block till data igen.
- 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.
- Skriv eller klistra in indata, eller öppna en fil. Resultatet uppdateras medan du skriver.
- 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
| Uuencode | Xxencode | |
|---|---|---|
| Tecken | ASCII 32 till 95, grav accent för noll | + - 0-9 A-Z a-z |
| En full rad på 45 byte börjar med | M | h |
| Sista raden före end | ` | + |
| Klarar EBCDIC-gateways | Nej | Ja |
Specifikation
| Alfabet | + - 0-9 A-Z a-z |
|---|---|
| Utdatastorlek | Cirka 137 % inklusive radprefix |
| Utfyllnad | Rader på högst 45 byte |
| Standard | xxencode |
| Skiftlägeskänslig | Ja |
Exempel
| Indata (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 |
Vanliga frågor
Hur skiljer jag uuencode från xxencode?
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?
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.