Bash

Bash 重定向編碼

  • August 25, 2012

我正在嘗試使用該命令base64 somefile.ext將文件轉換為文本。唯一的問題是文件大小增加了 35%,這對於我的大文件來說是不可接受的。我懷疑這些文件的編碼方式可以使它們的大小更小。目前輸出文件的編碼是us-ascii.

是否有可以使文件更小的編碼?

只需在編碼前壓縮。

 $ 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 位輸出。您可以使用的不多。

引用自:https://serverfault.com/questions/420261