JavaScript et UTF-8
Les navigateurs fournissent btoa() et atob(), mais ces fonctions travaillent sur des chaînes de type octets. Passer directement du chinois ou des emoji peut provoquer une erreur ou corrompre les caractères.
Utiliser les octets UTF-8
Convertissez le texte avec TextEncoder avant l’encodage et TextDecoder après le décodage. Les données multilingues sont ainsi conservées.
const bytes=new TextEncoder().encode(text); const encoded=btoa(String.fromCodePoint(...bytes)); const decoded=new TextDecoder().decode(Uint8Array.from(atob(encoded),c=>c.charCodeAt(0)));Gérer les fichiers
Utilisez FileReader pour de petits aperçus ou traitez des blocs ArrayBuffer pour les gros fichiers. Évitez les énormes chaînes intermédiaires. Essayez l’encodeur en ligne.