Die Verwendung von JavaScripts atob zum Dekodieren von Base64 dekodiert UTF-8-Zeichenfolgen nicht ordnungsgemäß.
Die atob()-Funktion von JavaScript dekodiert base64-kodierte Zeichenfolgen. Es wird jedoch davon ausgegangen, dass die Eingabe ASCII-codiert ist. Dies kann zu Problemen bei der Dekodierung von Zeichenfolgen führen, die Nicht-ASCII-Zeichen enthalten, beispielsweise solche, die in UTF-8 kodiert sind.
Die Lösung für dieses Problem besteht darin, eine Funktion zu verwenden, die speziell UTF-8-Zeichenfolgen dekodiert. Eine solche Funktion ist decodeURIComponent(), die zum Dekodieren eines UTF-8-Strings verwendet werden kann, der mit encodeURIComponent() kodiert wurde.
<code class="javascript">const decodedString = decodeURIComponent(encodedString);</code>
Eine andere Möglichkeit ist die Verwendung einer Bibliothek wie [js-base64 ](https://www.npmjs.com/package/js-base64) oder [base64-js](https://github.com/beatgammit/base64-js), die Funktionen zum Kodieren und Dekodieren von Base64-Strings bereitstellen.
Hier ist ein Beispiel für die Verwendung von js-base64 zum Dekodieren eines UTF-8-Strings:
<code class="javascript">const decodedString = Base64.decode(encodedString);</code>
Sobald Sie den String dekodiert haben, können Sie ihn als regulären JavaScript-String verwenden .
Das obige ist der detaillierte Inhalt vonWie dekodiere ich UTF-8-Strings aus Base64 in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!