ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptでURLをエンコードして変換する方法

JavaScriptでURLをエンコードして変換する方法

青灯夜游
リリース: 2023-01-04 09:35:59
オリジナル
12247 人が閲覧しました

JavaScript による URL のエンコードと変換の方法: 1. encodeURI() 関数を使用して文字列を URI としてエンコードします; 2. encodeURIComponent() 関数を使用して文字列を URI コンポーネントとしてエンコードします。

JavaScriptでURLをエンコードして変換する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

プロジェクトでURLのパラメータや配列オブジェクトの解析に失敗するという問題が発生し、トランスコードすることで解決しましたが、実際の原理は不明でしたので、JSのトランスコードとデコードについて勉強しました。

JavaScript 言語にはエンコードに使用される関数が 3 つあります。

  • #escape()

  • encodeURI()
  • encodeURIComponent()

3 つのエンコード方法の違い:

  • escapeunescape:

    escape: URL エンコードに直接使用することはできません。その実際の機能は、指定された文字列をエンコードできるように、文字の Unicode エンコード値を返すことです。 ASCII 文字、数字、句読点「@ * _ - . /」を除く、すべてのスペース、句読点、特殊文字、およびその他の非 ASCII 文字は、%xx (16 進数) の形式の文字に変換されます。数字)コーディング。つまり、
    escape は文字をエンコードしません。: *、-、.、/、@、_、0-9、a-z、A-Z の 69 文字があります。

    対応するデコード関数は

    unescape();

  • ##encodeURI

    および decodeURI: **encodeURI()** は、JavaScript で URL をエンコードするために実際に使用される関数です。 URL 全体がエンコードされますが、一般的な記号に加えて、URL 内の特別な意味を持つ記号「; / ? : @ & = $ , #」はエンコードされません。エンコード後、シンボルの UTF-8 形式を出力し、各バイトの前に % を追加します。 encodeURI() は一重引用符をエンコードしないことに注意してください。
    に対応するデコード関数は

    decodeURI()

    です。

  • encodeURIComponent

    decodeURIComponent

    encodeURIComponent

    は、URL のコンポーネントを個別にエンコードするために使用されます。 URL 全体をエンコードするのではなく、.したがって、encodeURI() でエンコードされない記号「; / ? : @ & = $ , #」は、すべて encodeURIComponent() でエンコードされます。 encodeURIComponent() は、「/」やその他の文字など、より多くの文字をエンコードするためです。文字列に URI の複数の部分が含まれている場合、これをエンコードに使用することはできません。そうしないと、「/」文字がエンコードされた後、URL が正しく表示されません。したがって、パラメーターを渡すときに、特殊文字を含むパラメーターによって中断が発生する可能性があります。

  • 要約すると、

**escape()** 関数は、文字列をエンコードするために js によって使用されます。一般的には使用されません

**encodeURI()** は URL 全体をジャンプするために使用されます

**encodeURIComponent()** はパラメータを渡すために使用されます 特殊文字を含むパラメータは中断を引き起こす可能性があります。

[推奨学習:

JavaScript 上級チュートリアル

]

以上がJavaScriptでURLをエンコードして変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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