xxencode - это двоичная кодировка, аналогичная uuencode, в котором используются только буквенно-цифровые символы, а также знаки плюс и минус. Он был изобретен как средство передачи файлов в формате, который выдержит преобразование набора символов, в частности, между кодировкой ASCII и EBCDIC, используемой в мэйнфреймах IBM.
данные в кодировке xx начинаются со строки вида:
begin
Где
xxencode многократно берет группы по три байта, добавляя конечные нули, если осталось меньше трех байтов. Эти 24 бита разбиты на четыре 6-битных числа, каждое из которых затем преобразуется в -й символ в следующей таблице:
1 2 3 4 5 6 0123456789012345678901234567890123456789012345678901234567890123 | | | | | | | + -0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Каждая группа из шестидесяти выходных символов (соответствующих 45 входным байтам) выводится в виде отдельной строки, которой предшествует закодированный символ, указывающий количество закодированных байтов в этой строке. Для всех строк, кроме последней, это будет символ «h» (отображение символа на значение 45). Если входные данные не делятся на 45 без остатка, последняя строка будет содержать оставшиеся N выходных символов, которым предшествует количество оставшихся входных байтов, закодированных, как указано выше. Наконец, выводится строка, содержащая только один пробел (или знак плюса), за которой следует одна строка, содержащая строку «end».
Данные в кодировке xx обычно отличаются от данных Uuencoded по первому символу строки («h» для Xxencode, «M» для Uuencode). Это предполагает наличие как минимум одной полной строки (45 закодированных байтов / 60 символов) на выходе.
Ниже приводится пример xx-кодирования однострочного текстового файла. В этом примере % 0D - это байтовое представление для возврата каретки (CR), а % 0A - байтовое представление для перевода строки (LF).
Имя файла = wikipedia-url.txt Содержимое файла = http: //www.wikipedia.org%0D%0A
начало 644 wikipedia-url.txt OO5FoQ1cj9rRrRmtrOKhdQ4JY7BK2iPr + endСм. Также