Maison >interface Web >js tutoriel >Introduction détaillée à JavaScript utilisant btoa et atob pour le transcodage et le décodage Base64
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"
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)
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,中国"
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!