codificación xx


xxencode es una codificación de binario a texto similar a uuencode que usa solo los caracteres alfanuméricos y los signos más y menos. Fue inventado como un medio para transferir archivos en un formato que sobreviviría a la traducción del juego de caracteres, particularmente entre la codificación ASCII y EBCDIC utilizada en los mainframes de IBM. [1]

Donde <mode> son los permisos de lectura / escritura / ejecución del archivo como tres dígitos octales, y <file> es el nombre que se utilizará al recrear los datos binarios.

xxencode toma repetidamente grupos de tres bytes, agregando ceros finales si quedan menos de tres bytes. Estos 24 bits se dividen en cuatro números de 6 bits, cada uno de los cuales se traduce al carácter número uno en la siguiente tabla:

Cada grupo de sesenta caracteres de salida (correspondientes a 45 bytes de entrada) se emite como una línea separada precedida por un carácter codificado que da el número de bytes codificados en esa línea. Para todas las líneas excepto la última, será el carácter 'h' (el carácter que se asigna al valor 45). Si la entrada no es divisible por 45, la última línea contendrá los N caracteres de salida restantes, precedidos por el número de bytes de entrada restantes codificados como se indicó anteriormente. Finalmente, se genera una línea que contiene solo un espacio (o un carácter más), seguida de una línea que contiene la cadena "end".

Los datos codificados xx generalmente se distinguen de los datos codificados Uuen por el primer carácter de la línea ('h' para Xxencode, 'M' para Uuencode). Esto supone al menos una línea de longitud completa (45 bytes codificados / 60 caracteres) en la salida.

El siguiente es un ejemplo de codificación xx de un archivo de texto de una línea. En este ejemplo, % 0D es la representación de bytes para el retorno de carro (CR) y % 0A es la representación de bytes para el avance de línea (LF).