In most browsers, calling btoa()
on a Unicode string or Emojis will cause an InvalidCharacterError
or DOMException
exception.
This small package provides a simple solution by making available utoa
and atou
, Unicode to and from base64 encoding.
npm i --save unicode-encode
In Node or in the browser.
// Import the needed functions.
const { utoa, atou } = require("unicode-encode");
// Examples:
utoa("à bientôt ☮"); // w6AgYmllbnTDtHQg4piu
atou("w6AgYmllbnTDtHQg4piu"); // "à bientôt ☮"
utoa("👋 Unicode!"); // 8J+RiyBVbmljb2RlIQ==
atou("8J+RiyBVbmljb2RlIQ=="); // "👋 Unicode!"