Maison > interface Web > js tutoriel > le corps du texte

Introduction détaillée à JavaScript utilisant btoa et atob pour le transcodage et le décodage Base64

黄舟
Libérer: 2017-03-21 14:28:17
original
1927 Les gens l'ont consulté

javascriptL'API native prend à l'origine en charge Base64, mais en raison des limitations du javascript précédent, Base64 est fondamentalement inutile. Lorsque la norme HTML5 actuelle sera formalisée, Base64 disposera d'un plus grand espace de transformation. Pour les API Html5 telles que l'API FileReader, le téléchargement par glisser-déposer et même les captures d'écran Canvas et vidéo,

l'API native Javascript peut être réalisée. initialement pris en charge Base64, mais en raison des limitations du javascript précédent, Base64 était fondamentalement inutile. Lorsque la norme HTML5 actuelle sera formalisée, Base64 disposera d'un grand espace de transformation pour les API Html5 telles que FileReader Api, le téléchargement par glisser-déposer, et même des captures d'écran Canvas et vidéo pourront être réalisées.

D'accord, j'ai beaucoup dit dans la préface, quelles sont les méthodes de transcodage et de décodage Base64 :

1 Voyons comment utiliser le transcodage Base64 en javascript.

var str = 'javascript';

window.btoa(str)
//转码结果 "amF2YXNjcmlwdA=="

window.atob("amF2YXNjcmlwdA==")
//解码结果 "javascript"
Copier après la connexion

2. Pour le transcodage, l' objet du transcodage Base64 ne peut être qu'une chaîne , par conséquent, pour les autres données, il y a également certains Ce qui nécessite une attention particulière ici, c'est le transcodage Unicode.

var str = "China,中国"
window.btoa(str)
Copier après la connexion

DOMException non interceptée : échec de l'exécution de 'btoa' sur 'Window' : la chaîne à encoder contient des caractères en dehors de la plage Latin1 .

Évidemment, cette méthode n'est pas possible, alors comment faire pour qu'elle supporte les caractères chinois

Cela nécessite l'utilisation de window.encodeURIComponent et window.decodeURIComponent

var str = "China,中国";
window.btoa(window.encodeURIComponent(str))
//"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="

window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
//"China,中国"
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!