Javascript – Decode URL Safe Base64 in JavaScript (browser side)

base64gmail-apijavascript

I am using Gmail's API to get emails from my account. The body of the message is delivered in a "URL safe base64" format. What is the best way to decode this for use? I have found some nodejs solutions, but no client side ones. window.atob does not work since it is URL safe.

Thanks for any help.

Best Solution

For posterity,

atob(data.replace(/_/g, '/').replace(/-/g, '+'))

As stated by the spec https://www.rfc-editor.org/rfc/rfc4648#section-5 however because this uses atob() it does not support unicode characters and thus requires a polyfill.