Wie Base64-Kodierung Funktioniert
Sieh genau, wie Base64 Bytes in Text verwandelt — die Zuordnung von 3 Bytes zu 4 Zeichen, das Alphabet, das Padding und warum die Ausgabe etwa 33 % größer ist.
- wie base64 kodierung funktioniert
- base64 algorithmus
- base64 padding
- base64 alphabet
- pdf me
Von Bytes zu Base64-Zeichen
Base64 verarbeitet die Originaldatei jeweils 3 Bytes — 24 Bit — auf einmal. Jede 24-Bit-Gruppe wird in vier 6-Bit-Blöcke aufgeteilt, und jeder 6-Bit-Block (eine Zahl von 0 bis 63) wird in einem festen Alphabet nachgeschlagen, um ein Ausgabezeichen zu erzeugen. Drei Bytes hinein, vier Zeichen heraus.
Deshalb besteht jeder Base64-String aus denselben 64 Symbolen, egal welche Art von Datei — ein PDF, ein Bild, eine Schrift — hineingegeben wurde. Siehe was Base64-Kodierung ist für das größere Bild.
Das Base64-Alphabet
Die 64 möglichen 6-Bit-Werte werden zugeordnet zu: den Großbuchstaben A–Z (Werte 0–25), den Kleinbuchstaben a–z (Werte 26–51), den Ziffern 0–9 (Werte 52–61) und schließlich + und / (Werte 62 und 63). Einige Varianten tauschen die letzten beiden Symbole aus — URL-sicheres Base64 verwendet stattdessen - und _, damit der String sicher in einer URL stehen kann.
Padding Mit =
Eine 24-Bit-Gruppe entsteht nur sauber, wenn die Eingabelänge ein Vielfaches von 3 Bytes ist. Wenn von der letzten Gruppe einer Datei nur noch 1 oder 2 Bytes übrig bleiben, füllt Base64 die fehlenden Bits mit Nullen auf und hängt ein oder zwei =-Zeichen an die Ausgabe an, damit Decoder genau wissen, wie viele der letzten Bits echte Daten waren.
Padding trägt keine Information aus der Datei — es markiert nur, wo der echte Inhalt endet, damit ein Decoder an der richtigen Stelle aufhört.
Ein Kleines Durchgerechnetes Beispiel
Das Kodieren der beiden Buchstaben "Hi" ergibt den String "SGk=". Die Bytes von H und i bilden 16 Bit, die sich in drei vollständige 6-Bit-Blöcke plus 2 übrige, mit Nullen aufgefüllte Bits aufteilen — drei echte Zeichen (S, G, k) gefolgt von einem =-Padding-Zeichen, weil die Eingabe 2 Bytes war, kein Vielfaches von 3.
Warum die Ausgabe Etwa 33 % Größer Ist
Drei Bytes Binärdaten werden immer zu vier Textzeichen, ein Verhältnis von 4:3 — etwa 33 % größer. Ein PDF mit 900 KB auf der Festplatte wird zu einem Base64-String von fast 1,2 MB. Das ist der wichtigste Kompromiss, den man einplanen sollte; siehe die Größenhinweise im PDF-zu-Base64-Leitfaden.