Estoy intentando usar el comando base64 somefile.ext
para convertir archivos a texto. El único problema es que el tamaño del archivo aumenta en un 35% y eso se vuelve inaceptable para mis archivos más grandes. Sospecho que los archivos podrían codificarse de una manera que reduzca su tamaño. Actualmente la codificación del archivo generado es us-ascii
.
¿Existe alguna codificación que permita reducir el tamaño del archivo?
Respuesta1
Simplemente comprima antes de codificar.
$ wc -c < /bin/ls
114024
$ < /bin/ls base64 | wc -c
154033
$ xz < /bin/ls | base64 | wc -c
59878
(Puede usar gzip, bzip2 o cualquier compresor que desee, pero recuerde descomprimirlo en el extremo receptor)
No hay muchos caracteres ascii imprimibles. base64 usa 64 de ellos, lo que significa que 6 bits de entrada generan 8 bits de salida. No hay muchos más que puedas usar.