JavaScript の atob を使用して Base64 をデコードすると、utf-8 文字列が適切にデコードされない
JavaScript の atob() 関数は、base64 でエンコードされた文字列をデコードします。ただし、入力が ASCII エンコードされていることを前提としています。これにより、UTF-8 でエンコードされた文字列など、非 ASCII 文字を含む文字列をデコードするときに問題が発生する可能性があります。
この問題の解決策は、特に UTF-8 文字列をデコードする関数を使用することです。このような関数の 1 つは decodeURIComponent() で、encodeURIComponent() でエンコードされた UTF-8 文字列をデコードするために使用できます。
<code class="javascript">const decodedString = decodeURIComponent(encodedString);</code>
もう 1 つのオプションは、[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 中国語 Web サイトの他の関連記事を参照してください。