Hi, vanaf 15 mei 2023 zijn we gesloten voor langere tijd.

Decoding Base64 strings in Javascript

Het omzetten van een Base64 string naar een meer leesbaarder formaat in Javascript is gemakkelijk. Hieronder lees je de oplossing voor verschillende Javascript omgevingen.

Bekijk oplossingen

Hulp bij Javascript

Wanneer je met Node.js werkt

Het kan zijn dat je een backend applicatie maakt met behulp van Node.js. Bijvoorbeeld een Shopify app.
Je ontvangt de hostnaam van een winkel die inlogt op je app. Je ontvang de naam van Shopify in een Base64 string: aHR0cHM6Ly9teXNob3AubXlzaG9waWZ5LmNvbQ.

Je kunt met onderstaande functie de UTF-8 versie van de hostnaam krijgen.

/**
  * @param {string} base64String
  * @returns {string}
  */
function decode(base64String) {
    return Buffer.from(base64String, 'base64').toString();
}

Probeer de functie uit en je zult zien dat het gedecodeerde resultaat https://myshop.myshopify.com is.

Wanneer je met Javascript in een browser werkt

Gebruik onderstaande functie wanneer je in een browseromgeving werkt zoals in Chrome, Edge of Safari.

/**
  * @param {string} base64String
  * @returns {string}
  */
function decode(base64String) {
    return atob(base64String);
}

Probeer deze functie uit door 'm in de Developer console van je browser te plakken. Voer de functie daarna uit met decode('aHR0cHM6Ly9teXNob3AubXlzaG9waWZ5LmNvbQ').

Overigens, atob staat voor ASCII to binary.

Wanneer je Javascript code zowel in Node.js als in browsers moet werken

Soms heb je code die zowel draait bij het server-side renderen als bij het opbouwen van de applicatie in de browser.
Je kunt dan onderstaande functie gebruiken die in zowel door Node.js als in een browser based Javascript context gedraaid kan worden.

/**
  * @param {string} base64String
  * @returns {string}
  * @throws When no built-in decoder function is available
  */
function decode(base64String) {
    if (typeof window !== 'undefined' && window.atob) {
        // We're in a browser-like environment
        return window.atob(base64String);
    }
    if (typeof Buffer !== 'undefined' && Buffer.from) {
        // We're in a Node.js-like environment
        return Buffer.from(base64String, 'base64').toString();
    }
    // No built=in Base64 decode function available
    throw new Error('No decoder available');
};

Chat met ons

Heb je een vraag voor ons? Bericht ons nu en we antwoorden zo snel mogelijk.

Tevens kun je ons bereiken op
+31 6 164 677 43

N.B., je gaat akkoord gaat met het privacy beleid wanneer je gegevens achterlaat.

Bericht

We gebruiken cookies om je de best mogelijke ervaring op onze website te geven. Door verder te browsen op deze site, stem je in met het gebruik van cookies. Voor meer informatie, lees onze Cookie Policy (Engels).