Bash-Umleitungskodierung

Bash-Umleitungskodierung

Ich versuche, mit dem Befehl base64 somefile.extDateien in Text umzuwandeln. Das einzige Problem ist, dass die Dateigröße um 35 % zunimmt, was bei meinen größeren Dateien inakzeptabel ist. Ich vermute, dass die Dateien so kodiert werden könnten, dass ihre Größe kleiner wird. Derzeit ist die Kodierung der ausgegebenen Datei us-ascii.

Gibt es eine Kodierung, die die Dateigröße verringert?

Antwort1

Komprimieren Sie einfach vor dem Kodieren.

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

(Sie können gzip, bzip2 oder jeden beliebigen Kompressor verwenden, müssen aber daran denken, die Datei auf der Empfangsseite zu dekomprimieren)

Es gibt nicht viele druckbare ASCII-Zeichen. Base64 verwendet 64 davon, was bedeutet, dass 6 Bit Eingabe 8 Bit Ausgabe ergeben. Viel mehr können Sie nicht verwenden.

verwandte Informationen