ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptのunescape()関数とescape()関数の違いは何ですか?

JavaScriptのunescape()関数とescape()関数の違いは何ですか?

WBOY
WBOY転載
2023-08-24 12:13:081667ブラウズ

JavaScript 中 unescape() 和 escape() 函数有什么区别?

JavaScript は、エンコードされた文字列を処理するための 2 つの関数 escape()unescape()# を提供します。 ##。 escape() この関数は、URL で安全に使用できるように文字列をエンコードするために使用されます。 unescape() 関数は、エンコードされた文字列をデコードするために使用されます。

違い

2つの関数の主な違いは、

escape()は非ASCII文字をエンコードするのに対し、unescape()はこれらの文字のみをエンコードすることです。デコードされます。これは、ASCII 文字のみを含む文字列に対して escape() を使用すると、結果は入力文字列と同じになることを意味します。ただし、非 ASCII 文字を含む文字列に対して unescape() を使用すると、結果が入力文字列と異なる場合があります。

使用例

escape() この関数は通常、URL パラメーターまたはパス セグメントをエンコードするときに使用されます。たとえば、URL で使用するために文字列「Hello world!」をエンコードする場合は、次のように、escape() 関数を使用できます -

var encodedString = escape("Hello world!");

unescape() 関数 通常URL パラメータまたはパス セグメントをデコードするときに使用されます。たとえば、文字列「Hello world!」 (「Hello world!」のエンコードされたバージョン) をデコードする場合は、以下に示すように unescape() 関数を使用できます -

var decodedString = unescape("Hello%20world!");

Example

以下は完全な動作コード例です -



   
<script> var encodedString = escape(&quot;Hello world!&quot;); var decodedString = unescape(encodedString); document.getElementById("result1").innerHTML = "Encoded String: " + encodedString document.getElementById("result2").innerHTML = "Decoded String: " + decodedString </script>

利点

escape()unescape( を使用する利点は次のとおりです。 ) 関数 -

  • escape() この関数を使用すると、URL で使用する文字列をエンコードできます。

  • unescape() 関数を使用して、エンコードされた文字列をデコードできます。

  • これらの関数は、文字列が URL で安全に使用できることを確認するために使用できます。

  • これらの関数は、次のような文字列をデコードするために使用できます。 URL で使用するためにエンコードされています。 で使用される文字列。

欠点

escape() 関数と unescape() 関数を使用する場合の欠点の一部を次に示します。

  • すべてのブラウザ (Internet Explorer 7 以前を含む) が

    escape() 関数をサポートしているわけではありません。

  • unescape() 関数は、セキュリティ上の脆弱性につながる可能性のある悪意のある文字列をデコードするために使用される可能性があります。

  • escape() 関数と unescape() 関数は、ASCII 文字でのみ機能します。非 ASCII 文字を含む文字列をエンコード/デコードする必要がある場合は、UTF-8 などの別のエンコード/デコード スキームを使用する必要があります。

結論

h2>つまり、

escape() 関数と unescape() 関数は、エンコードとデコードに使用されます。これら 2 つの関数の主な違いは、escape() は非 ASCII 文字をエンコードするのに対し、unescape() はこれらの文字のみをデコードすることです。これらの関数を使用すると、文字列が URL で安全に使用できることを確認できます。ただし、これらの関数は、別のエンコード スキーム (UTF-8 など) を使用してエンコードされた文字列をデコードするために使用しないでください。

NOTE - escape() および unescape() 関数は非推奨になりました。 encodeURI または encodeURIComponent() を使用し、代わりに decodeURI() または decodeURIComponent() を使用してください。

以上がJavaScriptのunescape()関数とescape()関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。