ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でエスケープされた Unicode 文字列をデコードするにはどうすればよいですか?

JavaScript でエスケープされた Unicode 文字列をデコードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-07 11:32:03
オリジナル
895 人が閲覧しました

How to Decode Escaped Unicode Strings in JavaScript?

JavaScript でエンコードされた Unicode 文字列をデコードする

エンコードされた Unicode 文字を含む文字列を操作する場合、それらを適切にデコードするのは困難な場合があります。この記事では、エスケープされた Unicode 文字でエンコードされた文字列のデコードの問題について説明します。

質問で説明されている特定の問題には、httpu00253Au00252Fu00252Fexample.com に似た文字列が関係しています。 unescape、decodeURI、decodeURIComponent などのさまざまな方法を試した後、推奨される解決策は文字列置換を使用することです。

ただし、初期条件を考慮することが重要です。次の例に示すように、問題の文字列は直接型指定されていませんが、コードの別の部分から取得された部分文字列です。

var s = 'http\u00253A\u00252F\u00252Fexample.com';
ログイン後にコピー

これは、unescape() が期待した結果を生成しない理由を説明しています。

このような文字列をデコードする鍵は、JSON.parse を利用することにあります。エンコードされた文字列を二重引用符で囲んで JSON として解析することにより、ブラウザーは自動的に Unicode 文字をデコードします。次の例は、このアプローチを示しています。

unescape(JSON.parse('"http\u00253A\u00252F\u00252Fexample.com"'));

// Output: 'http://example.com'
ログイン後にコピー

この場合、unescape() を使用して、残っている可能性のあるエスケープ シーケンスを削除します。 unescape() はブラウザ以外の環境では非推奨であり、TypeScript には存在しないことに注意してください。より広範な互換性を確保するには、代わりに decodeURIComponent を使用することをお勧めします。

以上がJavaScript でエスケープされた Unicode 文字列をデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート