Кодирование перенаправления Bash

Кодирование перенаправления Bash

Я пытаюсь использовать команду base64 somefile.extдля конвертации файлов в текст. Единственная проблема в том, что размер файла увеличивается на 35%, и это становится неприемлемым для моих больших файлов. Я подозреваю, что файлы могут быть закодированы таким образом, что их размер уменьшится. В настоящее время кодировка выходного файла — us-ascii.

Существует ли кодировка, которая позволит уменьшить размер файла?

решение1

Просто сожмите перед кодированием.

  $ wc -c < /bin/ls
  114024
  $ < /bin/ls base64 | wc -c
  154033
  $ xz < /bin/ls | base64 | wc -c
  59878

(Вы можете использовать gzip, bzip2 или любой другой компрессор, но не забудьте распаковать его на принимающей стороне)

Не так много печатных символов ascii. base64 использует 64 из них, что означает, что 6 бит ввода дают 8 бит вывода. Больше вы не можете использовать.

Связанный контент