Heim >Web-Frontend >js-Tutorial >Detaillierte Einführung in JavaScript mit BTOA und ATOB für die Base64-Transkodierung und -Dekodierung

Detaillierte Einführung in JavaScript mit BTOA und ATOB für die Base64-Transkodierung und -Dekodierung

黄舟
黄舟Original
2017-03-21 14:28:171966Durchsuche

JavascriptDie native API unterstützt ursprünglich Base64, aber aufgrund der Einschränkungen des vorherigen Javascript ist Base64 grundsätzlich nutzlos. Wenn der aktuelle HTML5-Standard formalisiert wird, verfügt Base64 über einen größeren Raum für Transformationen wie die FileReader-API, Drag-and-Drop-Uploads und sogar Canvas- und Video-Screenshots.

Javascript native API kann realisiert werden Ursprünglich wurde Base64 unterstützt, aber aufgrund der Einschränkungen des vorherigen Javascript war Base64 grundsätzlich nutzlos. Wenn der aktuelle HTML5-Standard formalisiert wird, bietet Base64 einen großen Raum für Transformationen. Für HTML5-APIs wie die FileReader-API können Drag-and-Drop-Uploads und sogar Canvas- und Video-Screenshots realisiert werden.

Okay, ich habe im Vorwort viel über die Methoden der Base64-Transkodierung und -Dekodierung gesagt:

1. Schauen wir uns an, wie man die Base64-Transkodierung in Javascript verwendet

var str = 'javascript';

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

window.atob("amF2YXNjcmlwdA==")
//解码结果 "javascript"

2. Für die Transkodierung kann das -Objekt der Base64-Transkodierung nur eine Zeichenfolge sein, daher sind für andere Daten auch bestimmte Daten erforderlich Besonderes Augenmerk gilt hier der Unicode-Transkodierung.

var str = "China,中国"
window.btoa(str)

Ungefangene DOMException: Fehler beim Ausführen von „btoa“ auf „Fenster“: Die zu kodierende Zeichenfolge enthält Zeichen außerhalb des Latin1-Bereichs .

Diese Methode ist offensichtlich nicht möglich. Wie kann man sie also dafür sorgen, dass sie chinesische Schriftzeichen unterstützt?

Dies erfordert die Verwendung von window.encodeURIComponent und window.decodeURIComponent

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

window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
//"China,中国"

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in JavaScript mit BTOA und ATOB für die Base64-Transkodierung und -Dekodierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn