🔐
← Terug naar handleidingen

Wat is Base64? Een complete handleiding voor beginners

· Tags: base64, encoding, binary-to-text, web-development, data-transfer

Wat is Base64-codering?

Base64 is een binaire-naar-tekst-codeerschema dat binaire gegevens weergeeft in een ASCII-tekenreeksformaat met behulp van een alfabet van 64 tekens. Het is oorspronkelijk ontworpen voor e-mailbijlagen via MIME (Multipurpose Internet Mail Extensions) en blijft een van de meest gebruikte coderingsmethoden op het web.

Wanneer u binaire gegevens — zoals een afbeelding, een bestand of gecomprimeerde bytes — moet verzenden over een kanaal dat voor tekst is gebouwd, is Base64 de aangewezen oplossing. Het neemt willekeurige bytes en zet deze om in een veilige, draagbare tekenreeks van letters, cijfers en een paar speciale tekens.

Hoe werkt Base64?

Base64 werkt door binaire gegevens in groepen van drie bytes (24 bits) te verwerken en elke groep om te zetten in vier Base64-tekens. De naam "Base64" komt van het feit dat het coderingsalfabet 64 verschillende tekens gebruikt: A-Z, a-z, 0-9, + en /.

Het coderingsalgoritme stap voor stap

  1. Neem 3 bytes (24 bits) van de invoergegevens
  2. Splits ze in vier groepen van 6 bits
  3. Wijs elke 6-bitswaarde (0-63) toe aan de Base64-alfabettabel
  4. Voeg opvulling toe (=) als de invoerlengte niet deelbaar is door 3

Hier is een concreet voorbeeld. De tekenreeks "Man" wordt als volgt gecodeerd:

  • M (ASCII 77) = 01001101
  • a (ASCII 97) = 01100001
  • n (ASCII 110) = 01101110

Gecombineerd: 01001101 01100001 01101110 → verdeeld in groepen van 6 bits:

  • 010011 = 19 → T
  • 010110 = 22 → W
  • 000101 = 5 → F
  • 101110 = 46 → u

Dus "Man" wordt "TWFu".

Wat met opvulling?

Als de invoerlengte geen veelvoud van 3 bytes is, voegt Base64 opvultekens (=) toe om de uitvoer een veelvoud van 4 tekens te maken:

  • 1 byte invoer → 2 Base64-tekens + 2 opvultekens (==)
  • 2 bytes invoer → 3 Base64-tekens + 1 opvulteken (=)

De enkele byte die overeenkomt met "M" wordt bijvoorbeeld gecodeerd naar TQ==.

De Base64-alfabettabel

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

Veelvoorkomende toepassingen van Base64-codering

E-mailbijlagen (MIME)

Base64 is gemaakt voor MIME (Multipurpose Internet Mail Extensions). E-mailprotocollen zoals SMTP zijn ontworpen voor 7-bits ASCII-tekst, dus binaire bijlagen zoals PDF's, afbeeldingen en ZIP-bestanden moeten vóór verzending via e-mail worden gecodeerd als Base64.

Data-URL's in HTML en CSS

Base64 stelt u in staat afbeeldingen, lettertypen en andere media rechtstreeks in HTML- of CSS-bestanden in te sluiten met behulp van data-URL's:

<img src="data:image/png;base64,iVBORw0KGgo..." alt="Embedded Image" />

Dit elimineert een extra HTTP-verzoek, wat gunstig kan zijn voor kleine assets.

JSON Web Tokens (JWT)

JWT's gebruiken de URL-veilige variant van Base64 (Base64url) om de header, payload en handtekening van elk token te coderen. Daarom ziet u tekenreeksen zoals eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 in authenticatiesystemen.

Binaire gegevens opslaan in databases

Veel databases zijn geoptimaliseerd voor tekstopslag en kunnen mogelijk niet goed overweg met onbewerkte bytes. Het coderen van binaire gegevens als Base64 stelt u in staat afbeeldingen, geserialiseerde objecten of versleutelde gegevens in tekstkolommen op te slaan.

API-payloads

Wanneer u binaire gegevens via een REST- of GraphQL-API verzendt — vooral in JSON-formaat — is Base64 de standaardkeuze omdat JSON van nature geen onbewerkte bytes kan weergeven.

Wordt het bestand groter door Base64?

Ja. Base64-codering vergroot de gegevens met ongeveer 33%. Voor elke 3 bytes invoer krijgt u 4 bytes uitvoer. Deze overhead is de prijs voor het transporteerbaar maken van binaire gegevens over kanalen die alleen tekst ondersteunen.

Is Base64-versleuteling?

Nee. Dit is een veelvoorkomend misverstand. Base64 is een codeerschema, geen versleuteling. Iedereen die een Base64-tekenreeks ontvangt, kan deze terug decoderen naar de oorspronkelijke gegevens zonder dat hiervoor een sleutel nodig is. Het biedt totaal geen beveiliging of vertrouwelijkheid. Als u gegevens wilt beschermen, gebruik dan versleuteling (zoals AES) en codeer de versleutelde bytes vervolgens eventueel met Base64 voor transport.

Base64 versus andere binaire-naar-tekst-coderingen

| Codering | Alfabetgrootte | Overhead | Het best voor | |----------|--------------|----------|----------| | Base64 | 64 tekens | ~33% | Gegevensoverdracht en insluiting | | Base32 | 32 tekens | ~60% | Voor mensen leesbare, hoofdletterongevoelige contexten | | Base16 (Hex) | 16 tekens | 100% | Debuggen, geheugendumps, kleurcodes | | Ascii85 | 85 tekens | ~25% | Adobe PostScript, PDF-streams |

Base64 biedt een evenwichtige afweging tussen ruimte-efficiëntie en brede compatibiliteit, waardoor het de populairste binaire-naar-tekst-codering op het web is.

Probeer Base64-codering online

Klaar om uw eigen gegevens te coderen? Gebruik onze gratis online Base64-coder en -decoder om tekst of bestanden direct in uw browser te converteren. Geen installatie of aanmelding vereist.