Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2015, 14:17
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
javascript btoa error invalid character ...

Hola,
Tengo el siguente problema:
Estoy intentando codificar en base64 una cadena (generada desde una imagen) para poder luego asignarla al atributo src de una etiqueta img.

Hasta aqui nada de otro mundo con base64_encode() en PHP esta ok. Pero necesito hacerlo desde javascript y btoa() me da el siguente fallo:
Uncaught InvalidCharacterError: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.

un ejemplo aqui:
Código Javascript:
Ver original
  1. var cadena_imagen ="PNG   IHDR sRGBΜ退gAMA a pHYs  ҝ~IDAT8O1 €E'⩭m-ū葒]₅x 턁Bĺݟ䯳1Y>?斤s.IY^<A%zj'⍐漸)DцeӃ i:鈨֠ۓ }!&唁Ʃ‰ Ρd> ĆNgi8;֤JʉV 4)뫾-SJ哕ЗTvv]G5-'M'?` 0ʲ[> 퉘藛ɂ٤9ց⫦ᚸSt1ėU{˝5LElߧ  :Aؚ{zǹ}ozu'_IENDB`";
  2.  
  3. $('#mi_imagen').attr('src','data:image/png;base64,'+btoa(cadena_imagen));

¿Alguna idea como puedo resolver esto?

O sea no obligatorio con btoa() pero la ideea es esta:
desde este texto cadena_imagen que se muestre en #mi_imagen dicha imagen (repito esto desde el cliente no en servidor);

Gracias.