Ich versuche, mit dem Befehl base64 somefile.ext
Dateien 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.