Philipp Hasenfratz: Frage zu base64

Beitrag lesen

Halihallo Andreas

[...]

Nun, base64, wie der name schon sagt, bildet dir jeden String in einen zweiten ab, der ausschliesslich _nur_ folgende Zeichen enthält:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

ist aber auch sehr ineffizient (ich meine, er verschwendet auch ungeheuerlich viel Platz). Das einzige, was also Probleme geben könnte, ist das '+', welches als Space (0x20) dekodiert wird und eventuell das Zeichen '/', welches du umbedingt kodieren musst, da es sonst als "Unterverzeichnis-Token" interpretiert wird...

Noch zur Speicherineffizienz:
base64 => 64 Zeichen => 2^6 Möglichkeiten => 6 bits
"ASCII"=> 255   "    => 2^8        "      => 8 bits

=>

3 "ASCII" (255 Zeichen) können durch 4 base64-Zeichen ersetzt werden, da

3 * 8 bit = 24bit und
4 * 6 bit = 24bit.

=>

du bekommst durch die base64-Kodierung 25% hinzu.

Viele Grüsse

Philipp