19

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.

wibberding
  • 815
  • 3
  • 10
  • 17

2 Answers2

41

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.

Community
  • 1
  • 1
xori
  • 716
  • 7
  • 9
11

Finally found it. This does URL Safe decoding

https://github.com/dankogai/js-base64

wibberding
  • 815
  • 3
  • 10
  • 17