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 位元輸出。您可以使用的數量已經不多了。

相關內容