Vorheriges Thema: Login2Nächstes Thema: Das Base64-Alphabet


Der Codierungsalgorithmus Base64

Bei der Base64-Codierung werden nur 6 Bit verwendet (dies entspricht 2^6 = 64 Zeichen), daher der Name Base64. Bei den 64 Zeichen handelt es sich um 10 Ziffern, 26 Kleinbuchstaben, 26 Großbuchstaben, das Pluszeichen (+) und den Schrägstrich (/).

Die Base64-Codierung erfolgt in zwei Schritten. Ein Byte-Stream wird in zwei Gruppen aufgeteilt, die jeweils aus drei aufeinander folgenden Bytes bestehen. Jede Gruppe (drei aufeinander folgende Bytes, jeweils bestehend aus acht Bit) wird in vier Zahlen mit sechs Bit konvertiert. Im zweiten Schritt werden die Zahlen anhand der Base64-Codierungstabelle in ASCII-Zeichen konvertiert.

Beispiel:

Schritt 1: Für die Zeichenfolge "$t@" (36, 116, 64) lautet der entsprechende Bit-Stream 001001000111010001000000, was wiederum den 6-Bit-Werten 9, 7, 17 und 0 entspricht.

36 = 00100100

116 = 01110100

64 = 01000000

001001 = 9

000111 = 7

010001 = 17

000000 = 0

Schritt 2: Diese Zahlen werden anhand der Base64-Codierungstabelle in ASCII-Zeichen konvertiert. Die 6-Bit-Werte in unserem Beispiel ergeben die ASCII-Zeichenfolge "JHRA".

9 => J

7 => H

17 => R

0 => A

Hinweis: Wenn die Größe der ursprünglichen Daten in Byte kein Vielfaches von Drei ist, bleiben möglicherweise ein oder zwei 8-Bit-Byte über. Die Lösung besteht darin, ausreichend Bytes mit einem Wert von '0' anzuhängen, um eine 3-Byte-Gruppe zu bilden.

Diese künstlich hinzugefügten '0'-Zeichen werden nicht anhand der Codierungstabelle codiert. Sie werden durch ein 65. Zeichen dargestellt. Das Base64-Auffüllungszeichen ist '='.