+ door - , / door _ en verwijdert de opvulling = (RFC 4648 §5).Hoe het werkt
Base64 stelt gegevens voor met 64 afdrukbare ASCII-tekens. Elke 3 invoerbytes worden 4 tekens, daarom neemt het resultaat ongeveer 33% meer ruimte in dan het origineel.
Het is geen versleuteling of compressie: het is een omkeerbare codering die iedereen kan decoderen. Het wordt gebruikt om binaire gegevens te vervoeren over kanalen die alleen voor tekst bedoeld zijn.
De URL-veilige variant (RFC 4648 §5) gebruikt - en _ in plaats van + en /, en laat de =-opvulling weg, zodat het resultaat in URL's en bestandsnamen kan worden opgenomen zonder het te escapen.
Voorbeelden
Hello WorldSGVsbG8gV29ybGQ=CaféQ2Fmw6k=In UTF-8 nemen niet-ASCII-tekens meer dan één byte in beslag, daarom voegt "é" twee bytes toe.>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwDe URL-veilige variant vervangt + en / door - en _, en verwijdert de =-opvulling.Gebruiksscenario's
- Afbeeldingen, lettertypen of pictogrammen rechtstreeks in HTML/CSS insluiten via data-URI's.
- E-mailbijlagen (MIME) of binaire gegevens binnen een JSON verzenden.
- Sleutels, certificaten of tokens opslaan in omgevingsvariabelen en configuratiebestanden.
- Referenties coderen voor de HTTP-header Authorization: Basic.
Veelgestelde vragen
Is Base64 een versleutelingsmethode?
Nee. Het is een omkeerbare codering zonder sleutel: iedereen kan het decoderen. Het voegt geen beveiliging toe; om gegevens te beschermen moet je ze versleutelen.
Waarom eindigt het resultaat op "="?
De "=" is opvulling (padding) om blokken van 4 tekens aan te vullen wanneer de invoer geen veelvoud van 3 bytes is. De URL-veilige variant laat het weg.
Wanneer verdient de URL-veilige variant de voorkeur?
Wanneer de waarde in een URL, een bestandsnaam of een identifier gaat, omdat de tekens + en / in die contexten een speciale betekenis hebben.
Waarom is de gecodeerde tekst langer dan het origineel?
Omdat het 4 tekens gebruikt voor elke 3 invoerbytes, dus de grootte groeit met ongeveer 33%.
Wordt mijn tekst naar een server geüpload?
Nee. De codering en decodering gebeuren volledig in je browser.