Im Entwickleralltag tauchen staendig kodierte Texte auf: ein Token in Base64, eine URL mit Prozentzeichen, ein Farbwert in Hex oder eine Pruefsumme als langer Hash. Wer den Unterschied zwischen diesen Verfahren kennt, spart sich viel Raterei. Dieser Ratgeber erklaert die fuenf wichtigsten Encodings, ihre Einsatzgebiete und vor allem den entscheidenden Unterschied zwischen Kodieren und Hashen.
Kodieren ist nicht verschluesseln
Ein verbreitetes Missverstaendnis vorweg: Encoding ist keine Verschluesselung. Ein kodierter Text laesst sich von jedem ohne Schluessel wieder zurueckwandeln. Encoding dient also nicht der Geheimhaltung, sondern dem sicheren Transport und der Darstellung von Daten in einem bestimmten Kontext. Wer Daten geheim halten will, braucht echte Verschluesselung, nicht Base64.
Base64: Binaerdaten als Text
Base64 verwandelt beliebige Binaerdaten in eine Zeichenkette aus nur 64 sicheren Zeichen (A bis Z, a bis z, 0 bis 9 sowie Plus und Schraegstrich). Der Zweck: Daten, die eigentlich aus Bytes bestehen, etwa ein Bild oder ein Token, lassen sich so durch Kanaele schicken, die nur Text vertragen, beispielsweise E-Mail oder JSON.
Der Preis dafuer ist Groesse: Base64 blaeht die Daten um rund ein Drittel auf, weil drei Bytes zu vier Zeichen werden. Typische Einsatzorte sind Data-URLs fuer kleine Bilder, Basic-Auth-Header oder eingebettete Anhaenge. Mit dem Text Decoder auf kotsch.tech kodierst und dekodierst du Base64 in einem Feld, mit praktischer Swap-Funktion fuer den Richtungswechsel.
URL-Encoding: Sicher durch die Adresszeile
URL-Encoding, auch Percent-Encoding genannt, sorgt dafuer, dass Sonderzeichen, Leerzeichen und Umlaute eine gueltige Webadresse nicht zerstoeren. Jedes problematische Zeichen wird in eine Prozent-Schreibweise uebersetzt, ein Leerzeichen etwa in %20. Das brauchst du fuer Suchanfragen, Tracking-Links und API-Parameter.
Wer sich tiefer mit diesem Thema befassen moechte, findet im eigenen Tool URL Encoder & Decoder eine spezialisierte Loesung mit Pfad- und Query-Modus.
HTML-Entities: Steuerzeichen entschaerfen
In HTML haben Zeichen wie die spitzen Klammern und das kaufmaennische Und eine Sonderbedeutung. HTML-Entities ersetzen sie durch eine sichere Schreibweise, etwa < fuer kleiner-als. Das verhindert nicht nur Darstellungsfehler, sondern schuetzt auch vor Cross-Site-Scripting, wenn Nutzereingaben ausgegeben werden. Fuer diese Aufgabe gibt es das eigene Werkzeug HTML Entities.
Hex: Bytes lesbar machen
Die Hexadezimaldarstellung (Basis 16) stellt jedes Byte als zwei Ziffern von 0 bis F dar. Sie ist die natuerliche Sprache fuer Maschinen-naheData: Farbwerte im Web (#ff8800), MAC-Adressen, Speicherinhalte in einem Debugger oder die Ausgabe von Hash-Funktionen. Hex ist kompakter und besser lesbar als eine endlose Folge von Nullen und Einsen, transportiert aber denselben Inhalt.
SHA-256: Der Sonderfall Hash
SHA-256 faellt aus der Reihe, denn es ist kein Encoding, sondern eine kryptografische Hash-Funktion. Der entscheidende Unterschied: Ein Hash ist eine Einbahnstrasse. Aus einer beliebig langen Eingabe entsteht ein fester 256-Bit-Wert (meist als 64 Hex-Zeichen dargestellt), aber aus diesem Wert laesst sich die urspruengliche Eingabe nicht zurueckrechnen.
Hashes erfuellen drei Aufgaben: Sie pruefen, ob eine Datei unveraendert ist (Pruefsumme), sie erzeugen einen Fingerabdruck fuer schnelle Vergleiche, und sie sind ein Baustein bei der sicheren Speicherung von Passwoertern. Wichtig: Schon die kleinste Aenderung der Eingabe veraendert den gesamten Hash vollstaendig.
- Encoding (Base64, URL, HTML, Hex): umkehrbar, dient Transport und Darstellung.
- Hashing (SHA-256): nicht umkehrbar, dient Integritaet und Fingerabdruck.
Welches Verfahren wann?
Eine kurze Orientierung fuer die Praxis:
- Du willst ein Bild in eine Textdatei einbetten? Base64.
- Du baust einen Link mit Suchbegriff oder Sonderzeichen? URL-Encoding.
- Du gibst Nutzertext in einer Webseite aus? HTML-Entities.
- Du brauchst eine kompakte Byte-Darstellung oder einen Farbwert? Hex.
- Du willst pruefen, ob ein Download unveraendert ist? SHA-256.
Alle diese Verfahren vereint der Text Decoder in einer einzigen Seite, sodass du nicht zwischen fuenf verschiedenen Tools wechseln musst. Eine vollstaendige Uebersicht weiterer Helfer findest du unter kotsch.tech/webtools.
Fazit
Base64, URL-Encoding, HTML-Entities und Hex sind umkehrbare Darstellungen fuer den sicheren Transport von Daten, waehrend SHA-256 als Hash eine nicht umkehrbare Pruefsumme liefert. Wer diesen Unterschied verinnerlicht, vermeidet die haeufigsten Fehler. Probiere alle Encodings bequem an einem Ort mit dem Text Decoder auf kotsch.tech aus.