Base64 Kodierung und Dekodierung: Der vollständige Leitfaden

Was ist Base64?

Base64 ist ein Binär-zu-Text-Kodierungsschema, das binäre Daten in einem ASCII-Zeichenfolgenformat darstellt. Es wird häufig in verschiedenen Computeranwendungen verwendet, insbesondere wenn binäre Daten kodiert werden müssen, die über Medien gespeichert und übertragen werden sollen, die für den Umgang mit Textdaten konzipiert sind.

Warum Base64 verwenden?

Base64 wird aus mehreren Gründen häufig verwendet:

Wie Base64 funktioniert

Die Base64-Kodierung funktioniert, indem jeweils drei Bytes der Eingabedaten in vier ASCII-Zeichen umgewandelt werden. Hier ist eine vereinfachte Erklärung des Prozesses:

  1. Nehmen Sie 3 Bytes binäre Daten (insgesamt 24 Bits)
  2. Teilen Sie diese 24 Bits in vier 6-Bit-Stücke auf
  3. Konvertieren Sie jedes 6-Bit-Stück in sein entsprechendes Base64-Zeichen

Das Base64-Alphabet besteht aus 64 Zeichen: A-Z, a-z, 0-9, + und /. Das Zeichen = wird für das Auffüllen verwendet, wenn die Länge der Eingabedaten nicht durch 3 teilbar ist.

Base64-Kodierungstabelle

Wert Kodierung  Wert Kodierung  Wert Kodierung  Wert Kodierung
    0 A            17 R            34 i            51 z
    1 B            18 S            35 j            52 0
    2 C            19 T            36 k            53 1
    3 D            20 U            37 l            54 2
    4 E            21 V            38 m            55 3
    5 F            22 W            39 n            56 4
    6 G            23 X            40 o            57 5
    7 H            24 Y            41 p            58 6
    8 I            25 Z            42 q            59 7
    9 J            26 a            43 r            60 8
   10 K            27 b            44 s            61 9
   11 L            28 c            45 t            62 +
   12 M            29 d            46 u            63 /
   13 N            30 e            47 v
   14 O            31 f            48 w         (Auffüllung) =
   15 P            32 g            49 x
   16 Q            33 h            50 y

Base64 in Programmiersprachen

Base64 in Python


import base64

# Kodierung
text = "Hallo, Welt!"
encoded = base64.b64encode(text.encode('utf-8')).decode('utf-8')
print(f"Kodiert: {encoded}")

# Dekodierung
decoded = base64.b64decode(encoded).decode('utf-8')
print(f"Dekodiert: {decoded}")
            

Base64 in JavaScript


// Kodierung
let text = "Hallo, Welt!";
let encoded = btoa(text);
console.log(`Kodiert: ${encoded}`);

// Dekodierung
let decoded = atob(encoded);
console.log(`Dekodiert: ${decoded}`);
            

Base64 in PHP


<?php
// Kodierung
$text = "Hallo, Welt!";
$encoded = base64_encode($text);
echo "Kodiert: " . $encoded . "\n";

// Dekodierung
$decoded = base64_decode($encoded);
echo "Dekodiert: " . $decoded . "\n";
?>
            

Häufige Anwendungsfälle für Base64

Einbetten von Bildern in HTML/CSS

Base64 kann verwendet werden, um kleine Bilder direkt in HTML oder CSS einzubetten und so HTTP-Anfragen zu reduzieren:


<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==" alt="Base64-kodiertes Bild">
            

Senden von Daten in JSON

Wenn Sie binäre Daten in JSON einschließen müssen, wird oft die Base64-Kodierung verwendet:


{
  "name": "beispiel.png",
  "inhalt": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=="
}
            

URL-sichere Base64

Für die Verwendung in URLs wird eine Variation von Base64 verwendet, die + und / durch - und _ ersetzt:


Standard: a+b/c==
URL-sicher: a-b_c==
            

Online Base64-Tools

Hier sind einige beliebte Online-Tools für Base64-Kodierung und -Dekodierung:

Base64 und Sicherheit

Warnung: Base64 ist ein Kodierungsschema, keine Verschlüsselungsmethode. Es bietet keine Sicherheit oder Datenschutz. Verwenden Sie Base64 niemals, um sensible Informationen ohne ordnungsgemäße Verschlüsselung zu speichern oder zu übertragen.

Obwohl Base64 Daten für Menschen unleserlich machen kann, ist es trivial einfach zu dekodieren. Verwenden Sie immer geeignete Verschlüsselungsmethoden für sensible Daten.

Vor- und Nachteile von Base64

Vorteile:

Nachteile:

Häufig gestellte Fragen

Ist Base64 eine Verschlüsselung?

Nein, Base64 ist keine Verschlüsselung. Es ist ein Kodierungsschema, das binäre Daten in einem ASCII-Zeichenfolgenformat darstellt. Es bietet keine Sicherheit.

Warum erhöht die Base64-Kodierung die Dateigröße?

Die Base64-Kodierung erhöht die Dateigröße, weil sie 3 Bytes Daten mit 4 Zeichen darstellt. Dies führt zu einer Größenzunahme von etwa 33%.

Können Base64-kodierte Daten komprimiert werden?

Ja, Base64-kodierte Daten können komprimiert werden, aber es ist im Allgemeinen effizienter, die Daten vor der Base64-Kodierung zu komprimieren.