Кодировка перенаправления Bash [закрыто]

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

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

-1
задан 23 August 2012 в 05:13
1 ответ

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

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

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

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

1
ответ дан 5 December 2019 в 20:04

Теги

Похожие вопросы