Zo gebruik je het
- Kies Coderen om een xx-gecodeerd blok te maken, of Decoderen om een blok terug te zetten naar gegevens.
- Laat begin- / end-regels aan staan en vul een Bestandsnaam in voor een compleet blok, of zet de optie uit als je alleen de gegevensregels wilt.
- Typ of plak je invoer, of gebruik Bestand openen. Het resultaat wordt bijgewerkt terwijl je typt.
- Kopieer het resultaat of gebruik Downloaden. Zet bij het decoderen Uitvoer als op Hex of download het bestand als de gegevens geen tekst zijn.
Wat is xxencode?
Xxencode behoudt de structuur van uuencode en verandert alleen de tekens. Elke 3 bytes worden nog steeds vier 6-bitswaarden, gegevensregels bevatten nog steeds maximaal 45 bytes achter een lengteteken, en het blok staat nog steeds tussen een regel begin 644 name en een regel end.
De 64 waarden worden toegewezen aan +, -, de cijfers 0-9, de hoofdletters A-Z en de kleine letters a-z, in die volgorde. Het lengteteken gebruikt dezelfde tabel, dus een volle regel van 45 bytes begint met h, en de lege regel vóór end is één +. Omdat de opbouw identiek is, is de uitvoer even groot als bij uuencode: ongeveer 38% groter dan de invoer, lengtetekens en regeleinden meegerekend.
Waarom xxencode is ontstaan
Uitvoer van uuencode zit vol leestekens zoals [, ], \, ^ en !. IBM-mainframes gebruiken EBCDIC in plaats van ASCII, en deze tekens staan in verschillende EBCDIC-codetabellen op verschillende posities. Als mail via gateways tussen ASCII- en EBCDIC-netwerken ging, konden zulke tekens verkeerd worden omgezet en raakte het bestand beschadigd.
Letters, cijfers, plus en min zijn in elke EBCDIC-codetabel hetzelfde, dus xx-gecodeerde tekst wordt in beide richtingen foutloos omgezet. MIME bereikte later hetzelfde doel: ook Base64 gebruikt alleen letters, cijfers en een paar symbolen die in ASCII en EBCDIC identiek zijn. Xxencode werd nooit zo gangbaar als uuencode, en uiteindelijk heeft Base64 ze allebei vervangen.
Uuencode en xxencode naast elkaar
| Uuencode | Xxencode | |
|---|---|---|
| Tekens | ASCII 32 tot 95, backtick voor nul | + - 0-9 A-Z a-z |
| Volle regel van 45 bytes begint met | M | h |
| Laatste regel vóór end | ` | + |
| Veilig via EBCDIC-gateways | Nee | Ja |
Specificatie
| Alfabet | + - 0-9 A-Z a-z |
|---|---|
| Uitvoergrootte | Ongeveer 137%, inclusief lengteteken per regel |
| Opvulling | Regels van maximaal 45 bytes |
| Standaard | xxencode |
| Hoofdlettergevoelig | Ja |
Voorbeelden
| Invoer (UTF-8) | Uitvoer |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
Veelgestelde vragen
Hoe herken ik het verschil tussen uuencode en xxencode?
h. Uu-gecodeerde regels bevatten leestekens, en volle regels beginnen met M. Mislukt het decoderen hier met een ongeldig teken, probeer dan de pagina uuencode.Schrijft de tool de begin- en end-regels?
begin 644 met de bestandsnaam die je invult, en de afsluitende regels. Zet de optie uit als je alleen de gecodeerde gegevensregels nodig hebt.Kan ik een blok zonder begin-regel decoderen?
Ja. Zonder begin-regel wordt elke niet-lege regel als gegevens gedecodeerd. Met een begin-regel begint het decoderen daarna en stopt het bij de end-regel, zodat omringende tekst wordt genegeerd.