kodowanie xx
xxencode to kodowanie binarne na tekst podobne do uuencode , które używa tylko znaków alfanumerycznych oraz znaków plus i minus. Został wynaleziony jako środek do przesyłania plików w formacie, który przetrwa translację zestawu znaków, szczególnie między kodowaniem ASCII a kodowaniem EBCDIC używanym na komputerach mainframe IBM.
Proces kodowania
dane zakodowane w formacie xxencode zaczynają się od linii postaci:
zaczynać<mode><file>
Gdzie <tryb> to uprawnienia do odczytu/zapisu/wykonania pliku w postaci trzech cyfr ósemkowych, a <plik> to nazwa, która ma być używana podczas odtwarzania danych binarnych.
xxencode wielokrotnie przyjmuje grupy po trzy bajty, dodając końcowe zera, jeśli pozostało mniej niż trzy bajty. Te 24 bity są podzielone na cztery 6-bitowe liczby, z których każda jest następnie tłumaczona na th znak w poniższej tabeli:
1 2 3 4 5 6 0123456789012345678901234567890123456789012345678901234567890123 | | | | | | | +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Każda grupa sześćdziesięciu znaków wyjściowych (odpowiadająca 45 bajtom wejściowym) jest wyprowadzana jako oddzielna linia poprzedzona zakodowanym znakiem podającym liczbę zakodowanych bajtów w tej linii. Dla wszystkich wierszy oprócz ostatniego będzie to znak 'h' (odwzorowanie znaku na wartość 45). Jeśli dane wejściowe nie są podzielne przez 45, ostatni wiersz będzie zawierał pozostałe N znaków wyjściowych, poprzedzone liczbą pozostałych bajtów wejściowych zakodowanych jak powyżej. Na koniec wyprowadzana jest linia zawierająca tylko jedną spację (lub znak plus), po której następuje jedna linia zawierająca ciąg "end".
Dane xxencoded można zasadniczo odróżnić od danych Uuencoded pierwszym znakiem wiersza („h” dla Xxencode, „M” dla Uuencode). Zakłada to co najmniej jedną linię pełnej długości (45 zakodowanych bajtów/60 znaków) na wyjściu.
Przykład
Poniżej znajduje się przykład kodowania xxencoding jednowierszowego pliku tekstowego. W tym przykładzie %0D to bajtowa reprezentacja powrotu karetki (CR), a %0A to bajtowa reprezentacja nowego wiersza (LF).
- plik
Nazwa pliku = wikipedia-url.txt Zawartość pliku = http://www.wikipedia.org%0D%0A
- xxencoding
początek 644 wikipedia-url.txt OO5FoQ1cj9rRrRmtrOKhdQ4JYOK2iPr7b1Ec+ koniec
Zobacz też
- Kodowanie binarne na tekst w celu porównania różnych algorytmów kodowania
Linki zewnętrzne
- XXENCODE-XXDECODE - Darmowy XXEncoder i XXDecoder on-line