xxencoding

xxencode är en binär-till-text-kodning som liknar uuencode som endast använder de alfanumeriska tecknen och plus- och minustecken. Det uppfanns som ett sätt att överföra filer i ett format som skulle överleva teckenuppsättningsöversättning, särskilt det mellan ASCII och EBCDIC -kodningen som används på IBM stordatorer.

Kodningsprocessen

xxenkodad data börjar med en rad i formuläret:

Börja<mode><file>

Där <läge> är filens läs-/skriv-/körrättigheter som tre oktala siffror, och <fil> är namnet som ska användas när binär data återskapas.

xxencode tar upprepade gånger in grupper om tre byte och lägger till efterföljande nollor om det finns färre än tre byte kvar. Dessa 24 bitar är uppdelade i fyra 6-bitars nummer, som var och en sedan översätts till det te tecknet i följande tabell:

1 2 3 4 5 6 0123456789012345678901234567890123456789012345678901234567890123 | | | | | | | +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

Varje grupp av sextio utdatatecken (motsvarande 45 inmatade byte) matas ut som en separat rad som föregås av ett kodat tecken som anger antalet kodade byte på den raden. För alla rader utom den sista kommer detta att vara tecknet 'h' (teckenmappningen till värdet 45). Om ingången inte är jämnt delbar med 45, kommer den sista raden att innehålla de återstående N utdatatecken, föregås av antalet återstående indatabyte kodade enligt ovan. Slutligen matas en rad som bara innehåller ett enda mellanslag (eller plustecken) ut, följt av en rad som innehåller strängen "slut".

xxenkodad data kan i allmänhet skiljas från Uuencoded data genom det första tecknet på raden ('h' för Xxencode, 'M' för Uuencode). Detta förutsätter minst en fullängdsrad (45 kodade byte/60 tecken) i utgången.

Exempel

Följande är ett exempel på xxencoding av en enrads textfil. I det här exemplet %0D byte-representationen för vagnretur (CR), och %0A är byte-representationen för radmatning (LF).

fil
 Filnamn = wikipedia-url.txt Filinnehåll = http://www.wikipedia.org%0D%0A 
xxencoding
 start 644 wikipedia-url.txt OO5FoQ1cj9rRrRmtroKhdQ4JYOK2iPr7b1Ec+ end 

Se även

externa länkar