使用 JavaScript 的 atob 解码 Base64 无法正确解码 utf-8 字符串
JavaScript 的 atob() 函数解码 Base64 编码的字符串,但它假设输入是 ASCII 编码的。在解码包含非 ASCII 字符(例如以 UTF-8 编码的字符串)时,这可能会导致问题。
此问题的解决方案是使用专门解码 UTF-8 字符串的函数。一个这样的函数是decodeURIComponent(),它可用于解码已使用encodeURIComponent()编码的UTF-8字符串。
<code class="javascript">const decodedString = decodeURIComponent(encodedString);</code>
另一种选择是使用诸如[js-base64]之类的库](https://www.npmjs.com/package/js-base64) 或 [base64-js](https://github.com/beatgammit/base64-js),提供对 Base64 字符串进行编码和解码的函数。
以下是如何使用 js-base64 解码 UTF-8 字符串的示例:
<code class="javascript">const decodedString = Base64.decode(encodedString);</code>
解码字符串后,您可以将其用作常规 JavaScript 字符串.
以上是如何在 JavaScript 中从 Base64 解码 UTF-8 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!