Javascript Base64 Encode, Decode for UTF-8/unicode string

Complete article that works for me : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding 

Part where we encode from unicode/utf-8 is

function utf8_to_b64( str ) {
  return window.btoa(unescape(encodeURIComponent( str )));
}
 
function b64_to_utf8( str ) {
  return decodeURIComponent(escape(window.atob( str )));
}
 
// Usage:
utf8_to_b64('✓ à la mode'); // "4pyTIMOgIGxhIG1vZGU="
b64_to_utf8('4pyTIMOgIGxhIG1vZGU='); // "✓ à la mode"

 This is one of most used thing now a days.