logo
GeekFormat

Base64-Kodierung

Eingabetext
0 Zeichen

Kostenloses Online-Base64-Kodierungs- und Dekodierungstool. Unterstützt die Zeichensätze UTF-8/ASCII/ISO-8859-1 mit drei Varianten: Standard, URL-Safe und MIME. Zeigt die Volumenaufblähungsrate in Echtzeit an, und die MIME-Zeilenumbrüche entsprechen dem RFC 2045-Standard.

Ähnliche Tools

Anwendungsfälle

  • JWT-Debugging: Dekodieren Sie die Header- und Payload-Segmente des JWT (Base64URL-Format), um den Inhalt der Token-Ansprüche anzuzeigen
  • Basic Auth: Kodieren Sie username:password als HTTP-Basic-Authentifizierungsdaten
  • OAuth-Entwicklung: Generieren Sie code_verifier oder überprüfen Sie code_challenge in PKCE-Szenarien
  • API-Debugging: Kodieren Sie JSON-Daten oder dekodieren Sie den Inhalt von Base64-Feldern, die von der API zurückgegeben werden
  • Data-URI-Bildeinbettung: Wandeln Sie kleine Icons in das Format data:image/...;base64,... zur Einbettung in CSS/HTML um
  • E-Mail-Anhang-Kodierung: Kodieren Sie binäre E-Mail-Anhänge im MIME-Base64-Format

Funktionen

  • Ein-Klick-Umschaltung Encode/Decode: Wechseln Sie frei zwischen Kodierungs- und Dekodierungsmodus, die Ausgabe wird direkt zur Eingabe, um zyklische Verarbeitung zu unterstützen
  • Unterstützung für drei Zeichensätze: UTF-8 (Chinesisch/Japanisch/Emoji), ASCII, ISO-8859-1, professionelle Abdeckung für mehrere Szenarien
  • Ausgabe in drei Varianten: Standard (Standard), URL-Safe (sicher für JWT/OAuth/PKCE), MIME (RFC 2045-Standard mit 76-Zeilenumbrüchen)
  • Echtzeit-Volumenstatistik: Zeigt die Anzahl der Eingabe-/Ausgabezeichen und die Aufblähungsrate in Echtzeit an (Base64 erhöht das Volumen um etwa 33 %)
  • Freundliche Fehlermeldungen: Wenn Zeichen außerhalb des Bereichs liegen, werden spezifische Fehlermeldungen anstelle eines einfachen Fehlers angezeigt
  • Ziehbarer Trenner: Auf dem PC können Sie das Verhältnis der linken und rechten Bearbeitungsbereiche anpassen, um sich auf die aktuelle Aufgabe zu konzentrieren
  • Unabhängige Tabs für Mobilgeräte: Telefon-/Tablet-Benutzer wechseln unabhängig zwischen Eingabe- und Ausgabebereich für ein reibungsloses Erlebnis

Anleitung

  1. Modus auswählen: Klicken Sie auf Encode (Kodieren) oder Decode (Dekodieren), um die Verarbeitungsrichtung zu wechseln
  2. Variante auswählen: Standard (Standard), URL-Safe (JWT/OAuth), MIME (E-Mail-Format mit 76-Zeilenumbrüchen)
  3. Inhalt eingeben: Fügen Sie Text oder die Base64-Zeichenkette ein, sie wird automatisch in Echtzeit verarbeitet
  4. Statistiken anzeigen: Unten werden die Zeichenanzahl und die Volumenaufblähungsrate angezeigt (Kodierung erhöht das Volumen um etwa 33 %)
  5. Ergebnis kopieren: Kopieren Sie die Base64-Zeichenkette oder den dekodierten Text mit einem Klick

Häufig gestellte Fragen

Ist Base64-Kodierung dasselbe wie Verschlüsselung?

Nein. Base64 wandelt Text nur in eine andere reversible Darstellungsform um; jeder kann ihn zurück zum Originaltext dekodieren. Wenn es sich um sensible Daten handelt (Passwörter, Tokens), verwenden Sie ein echtes Verschlüsselungsverfahren wie AES. Base64 eignet sich nur für die Datenformatkonvertierung und erleichtert die Übertragung binärer Daten über Textsysteme.

AES-Verschlüsselungstool

Wie stark erhöht sich das Volumen nach der Base64-Kodierung?

Die Base64-Kodierung erhöht das Volumen der Originaldaten um etwa 33 %. Dies liegt daran, dass alle 3 Bytes (24 Bit) in 4 Base64-Zeichen kodiert werden. Beispielsweise wird ein Text von 100 Bytes nach der Kodierung etwa 133 Bytes groß sein. Unten im Tool wird die Aufblähungsrate in Echtzeit angezeigt, damit Sie die Datengröße bewerten können. Beispiel: `Hello` → `SGVsbG8=` (Volumen +33 %).

Base64-Statistik-Tool

Was ist der Unterschied zwischen den drei Varianten: Standard, URL-Safe und MIME?

Standard ist das Standard-Base64, das die Zeichen A-Z, a-z, 0-9, +, / verwendet. URL-Safe ersetzt +/ durch -_, was es für URL-Parameter und JWT-Tokens geeignet macht. MIME fügt alle 76 Zeichen Zeilenumbrüche ein, entspricht dem E-Mail-Übertragungsstandard RFC 2045 und eignet sich für E-Mail-Anhänge und mehrzeiligen Text.

URL-Safe Base64MIME Base64

Wie dekodiert man den Header oder Payload eines JWT?

JWT verwendet die Base64URL-Kodierung (URL-Safe-Variante). Nach Auswahl des URL-Safe-Modus fügen Sie einfach das erste Segment (Header) oder das zweite Segment (Payload) des JWT ein, um es zu dekodieren. Beachten Sie, dass das dritte Segment des JWT die Signatur ist und hier nicht dekodiert oder verifiziert werden sollte.

JWT-Tool

Was ist das Padding (Auffüllung) bei Base64?

Die Länge des Base64-Kodierungsergebnisses muss ein Vielfaches von 4 sein. Wenn die Eingabelänge kein Vielfaches von 3 ist, wird mit dem Zeichen = aufgefüllt. Die URL-Safe-Variante verwendet kein Padding. Das Tool verarbeitet Padding automatisch und entfernt auch beim Dekodieren automatisch die =-Zeichen.

Base64-Padding-Tool

Warum unterstützen btoa und atob in JavaScript kein Chinesisch?

btoa und atob sind native Browser-APIs, die mit dem Latin-1-Zeichensatz (ISO-8859-1) arbeiten, wobei jedes Zeichen 1 Byte belegt. Chinesische Zeichen belegen in UTF-8 3 Bytes, daher führt eine direkte Übergabe zu einem Fehler. Die Lösung besteht darin, zuerst encodeURIComponent zu verwenden, um Chinesisch in das %xx-Format der UTF-8-Byte-Sequenz umzuwandeln, dann unescape zu verwenden, um es in eine Latin-1-Zeichenkette umzuwandeln, und schließlich btoa zum Kodieren zu verwenden.

Was ist das Data URI Scheme? Wie bettet man Bilder mit Base64 ein?

Data URI ist ein URI-Format, das es ermöglicht, Daten direkt in eine URL einzubetten, mit der Syntax: `data:[<mediatype>][;base64],<data>`. Zum Beispiel: `data:image/png;base64,iVBORw0KGgo...`. Es wird oft verwendet, um kleine Icons, CSS-Hintergrundbilder usw. einzubetten und die Anzahl der HTTP-Anfragen zu reduzieren. Aber Base64 erhöht das Volumen um 33 %, daher eignet es sich nur für kleine Dateien; große Dateien sollten normale URLs verwenden.

Data URI-ToolBase64 zu Bild

Was ist Base64-Kodierung?

Base64 ist ein binär-zu-text-Kodierungsschema, das auf 64 druckbaren ASCII-Zeichen basiert und erstmals durch RFC 2045 (MIME-Standard) definiert wurde. Base64 wandelt alle 3 Bytes (24 Bit) in 4 Base64-Zeichen um (A-Z, a-z, 0-9, +, /), sodass binäre Daten sicher über Systeme übertragen werden können, die nur Text unterstützen, wie HTTP-Header, JSON-Payloads, XML-Dokumente oder URL-Abfrageparameter.

**Base64 ist keine Verschlüsselung**, es bietet nur Datenformatkonvertierung, jeder kann es leicht dekodieren. Wenn Sie sensible Daten schützen müssen, verwenden Sie ein echtes Verschlüsselungsverfahren wie AES. Typische Anwendungen von Base64 sind: HTTP Basic Authentication (`Authorization: Basic dXNlcjpwYXNz`), Header- und Payload-Segmente von JWT-Tokens (Base64URL-Format), Data URI (`data:image/png;base64,...`), MIME-Kodierung von E-Mail-Anhängen usw.

**URL-Safe Base64** (RFC 4648 §5) ersetzt die +/ des Standard-Base64 durch -_ und lässt das Padding-= im Allgemeinen weg. Dadurch kann das kodierte Ergebnis sicher in URLs, Dateipfaden oder JSON-Feldern erscheinen. JWT-Tokens, der code_verifier von OAuth PKCE und AWS Signature V4 verwenden alle die URL-Safe-Base64-Kodierung.

**Der MIME-Zeilenvorschub** ist ein RFC 2045-Standard, der festlegt, dass jede Zeile 76 Zeichen nicht überschreiten darf. Wenn Base64-Inhalt in E-Mails oder bestimmten Szenarien verwendet wird, die eine Anzeige mit Zeilenumbrüchen erfordern, fügt die MIME-Variante automatisch Zeilenumbruchzeichen (`\n`) alle 76 Zeichen ein. Dies ist das Standardformat für die Übertragung von E-Mail-Anhängen.

Das Tool verwendet die native **btoa/atob-API** des Browsers, kombiniert mit einer UTF-8-sicheren Verarbeitungslogik, um sicherzustellen, dass Multibyte-Zeichen wie Chinesisch, Japanisch und Emoji korrekt kodiert werden. Alle Berechnungen werden lokal abgeschlossen, Daten werden an keine Server gesendet. Öffnen Sie das Netzwerkfenster der Browser-Entwicklertools, um zu überprüfen, dass während des gesamten Vorgangs keine externen Anfragen gestellt werden.

术语表

RFC 4648
Offizieller Standard für die Base16-/Base32-/Base64-Kodierung, veröffentlicht von der IETF. Definiert zwei Alphabete: Standard-Base64 und URL-Safe-Base64 sowie Regeln für Padding, Zeilenumbrüche, Behandlung von Nicht-Alphabet-Zeichen usw. Er ist der de facto aktuelle Standard für die Base64-Kodierung und ersetzt die frühere RFC 3548.URL-Safe-Base64-ToolBase64-Padding-Tool
RFC 2045 (MIME)
Multipurpose Internet Mail Extensions (MIME)-Standard. Er war der Erste, der Base64 als Kodierungsmethode für die E-Mail-Inhaltsübertragung einführte. Er legt fest, dass die Base64-Kodierung pro Zeile 76 Zeichen nicht überschreiten und mit CRLF getrennt werden darf, bekannt als MIME-Base64-Variante.MIME-Base64-Tool
Base64URL (URL-Safe Base64)
URL-sichere Variante, definiert in RFC 4648 §5. Ersetzt das + des Standard-Base64 durch - und das / durch _ und lässt das Padding-Zeichen = im Allgemeinen weg. Es wird häufig in Szenarien wie JWT-Tokens, OAuth PKCE, URL-Parametern und Dateinamen verwendet.URL-Safe-Base64-ToolJWT-Tool
MIME Base64
Base64-Variante, die dem RFC 2045-Standard entspricht und alle 76 Zeichen ein Zeilenumbruchzeichen (CRLF) einfügt. Sie wird hauptsächlich für die Übertragung von E-Mail-Anhängen verwendet, da das frühe SMTP-Protokoll Beschränkungen für die Länge einer einzelnen Zeile hatte.MIME-Base64-Tool
Padding (Auffüllung)
Die Länge des Base64-Kodierungsergebnisses muss ein Vielfaches von 4 sein. Wenn die Anzahl der Eingabebytes kein Vielfaches von 3 ist, wird das Ende mit dem Zeichen = aufgefüllt. Standard-Base64 verwendet Padding, Base64URL lässt es im Allgemeinen weg.Base64-Padding-Tool
Base64-Alphabet
Der Satz von 64 Zeichen, die bei der Base64-Kodierung verwendet werden. Das Standard-Base64-Alphabet ist: A-Z (26), a-z (26), 0-9 (10), +, /, insgesamt 64 Zeichen plus das Auffüllzeichen =.
btoa / atob
Native Browser-APIs für die Base64-Kodierung/Dekodierung. btoa (binary to ASCII) wird zum Kodieren verwendet, atob (ASCII to binary) zum Dekodieren. Beachten Sie, dass diese APIs nur den Latin-1-Zeichensatz unterstützen. Für die Verarbeitung von Chinesisch müssen Sie sie mit UTF-8-Transkodierung kombinieren.
Data URI Scheme
Ein URI-Format, das es ermöglicht, kleine Dateien direkt in eine URL einzubetten, im Format data:[<mediatype>][;base64],<data>. Es wird oft verwendet, um kleine Icons und CSS-Hintergrundbilder einzubetten, um HTTP-Anfragen zu reduzieren.Data URI-ToolBase64 zu Bild
HTTP Basic Authentication
Eine Authentifizierungsmethode im HTTP-Protokoll. Benutzername und Passwort werden mit einem Doppelpunkt konkateniert, in Base64 kodiert und im Authorization-Request-Header übertragen. Das Format ist: Authorization: Basic <base64(username:password)>.Auth-Header-Builder
Base64-Aufblähungsrate
Der Anteil, um den das Datenvolumen nach der Base64-Kodierung ansteigt. Alle 3 Bytes (24 Bit) werden in 4 Base64-Zeichen kodiert, daher erhöht sich das Volumen um etwa 33 % (4/3 ≈ 1,333). Mit Padding ist die Aufblähungsrate etwas höher.

Vergleich der drei Base64-Varianten

MerkmalStandardURL-SafeMIME
Sonderzeichen+ /- _+ /
Padding(=)VerwendetMeistens weggelassenVerwendet
ZeilenumbrücheKeineKeineZeilenumbruch alle 76 Zeichen
StandardRFC 4648 §4RFC 4648 §5RFC 2045
Typische AnwendungsfälleData URI, allgemeine KodierungJWT, URL-Parameter, DateinamenE-Mail-Anhänge, SMTP-Übertragung

Vergleichstabelle der Kodierungen der Base-Serie

KodierungZeichenanzahlMerkmale des ZeichensatzesVolumenaufblähungTypische Verwendung
Base16 (Hex)160-9, A-F100%Debugging, Hash-Anzeige
Base3232A-Z, 2-7(Großbuchstaben ohne Verwechslung)60%DNS, TOTP-Schlüssel, QR-Codes
Base5858Schließt verwechselbare Zeichen 0/O/I/l aus38%Bitcoin-Adressen, Kryptowährungen
Base6262A-Z, a-z, 0-934%URL-Kürzer, ID-Kodierung
Base6464A-Z, a-z, 0-9, +, /33%Data URI, MIME, JWT(URL-Safe-Variante)

Code Examples

Base64-Kodierung in JavaScript (unterstützt Chinesisch UTF-8)

// 编码(支持 UTF-8 中文)
function b64Encode(str) {
  return btoa(unescape(encodeURIComponent(str)));
}

// 解码(支持 UTF-8 中文)
function b64Decode(str) {
  return decodeURIComponent(escape(atob(str)));
}

// URL-Safe 编码(用于 JWT / OAuth)
function b64UrlEncode(str) {
  return btoa(unescape(encodeURIComponent(str)))
    .replace(/\+/g, '-')
    .replace(/\//g, '_')
    .replace(/=+$/, '');
}

console.log(b64Encode('Hello 世界')); // SGVsbG8g5LiW55WM
console.log(b64Decode('SGVsbG8g5LiW55WM')); // Hello 世界

Base64-Kodierung in Python

import base64

# Standard 编码(UTF-8)
encoded = base64.b64encode('Hello 世界'.encode('utf-8'))
print(encoded.decode())  # SGVsbG8g5LiW55WM

# Standard 解码
decoded = base64.b64decode(encoded).decode('utf-8')
print(decoded)  # Hello 世界

# URL-Safe 编码(用于 JWT / OAuth)
url_safe = base64.urlsafe_b64encode('Hello 世界'.encode('utf-8'))
print(url_safe.decode())  # SGVsbG8g5LiW55WM(无 padding 需手动去除)

# 去除 padding(JWT 标准做法)
url_safe_no_pad = url_safe.decode().rstrip('=')
print(url_safe_no_pad)

Base64-Kodierung in Java

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64Example {
    public static void main(String[] args) {
        String text = "Hello 世界";

        // Standard 编码
        String encoded = Base64.getEncoder()
            .encodeToString(text.getBytes(StandardCharsets.UTF_8));
        System.out.println(encoded); // SGVsbG8g5LiW55WM

        // Standard 解码
        String decoded = new String(
            Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8);
        System.out.println(decoded); // Hello 世界

        // URL-Safe 编码(用于 JWT / URL)
        String urlSafe = Base64.getUrlEncoder().withoutPadding()
            .encodeToString(text.getBytes(StandardCharsets.UTF_8));
        System.out.println(urlSafe);

        // MIME 编码(76字符换行)
        String mime = Base64.getMimeEncoder()
            .encodeToString(text.getBytes(StandardCharsets.UTF_8));
    }
}

Authoritative References