Menggunakan atob JavaScript untuk menyahkod base64 tidak menyahkod rentetan utf-8 dengan betul
Fungsi atob() JavaScript menyahkod rentetan berkod base64, tetapi ia menganggap bahawa input adalah dikodkan ASCII. Ini boleh membawa kepada masalah apabila menyahkod rentetan yang mengandungi aksara bukan ASCII, seperti yang dikodkan dalam UTF-8.
Penyelesaian kepada masalah ini ialah menggunakan fungsi yang secara khusus menyahkod rentetan UTF-8. Satu fungsi sedemikian ialah decodeURIComponent(), yang boleh digunakan untuk menyahkod rentetan UTF-8 yang telah dikodkan dengan encodeURIComponent().
<code class="javascript">const decodedString = decodeURIComponent(encodedString);</code>
Pilihan lain ialah menggunakan perpustakaan seperti [js-base64 ](https://www.npmjs.com/package/js-base64) atau [base64-js](https://github.com/beatgammit/base64-js), yang menyediakan fungsi untuk pengekodan dan penyahkodan rentetan base64.
Berikut ialah contoh cara menggunakan js-base64 untuk menyahkod rentetan UTF-8:
<code class="javascript">const decodedString = Base64.decode(encodedString);</code>
Setelah anda menyahkod rentetan, anda boleh menggunakannya sebagai rentetan JavaScript biasa .
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod UTF-8 Strings dari Base64 dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!