Converting base64 to UTF-8 issue (Gmail api)

Im having an issue when I try and convert the body of an email that is given to me through the gmail api as a base64 string. Once converted to UTF-8 it should be html code which does work, but once i use an innerHTML on the page with the decoded html code string the beginning of the page looks like this:

16 PM

and the bottom where most of the html and not css code looks like this:
42 PM

here is my html:




<ion-content padding>
        to: {{email?.payload.headers[email.payload.headers.length-2].value}}
        from: {{email?.payload.headers[email.payload.headers.length-3].value}}
      <div [innerHTML]="full"></div>

here is where I convert: (I’ve also tried my own decoding functions other than “atob” but it had the same results)

   = data;
            var body64 =[1]\-/g, '+').replace(/\_/g, '/');
            this.full = atob(body64);