ホームページ >ウェブフロントエンド >jsチュートリアル >jsエンコード・デコード関数の紹介と使用例_基礎知識

jsエンコード・デコード関数の紹介と使用例_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:23:211292ブラウズ

JS のテキストのエンコードには、escape、encodeURI、encodeURIComponent の 3 つの関数が含まれます。これは、unescape、decodeURI、decodeURIComponent

1 の 3 つのデコード関数に対応します。パラメーターを渡すときは、encodeURIComponent を使用する必要があります。 URL は # などの特殊文字によって切り捨てられません。
例:


2. URL ジャンプを実行するときに encodeURI 全体を使用できます

例: Location.href=encodeURI(http ://cang .baidu.com/do/s?word=中国&ct=21);
このメソッドを使用してエンコードされた文字は、PHP の urldecode() 関数を使用してデコードできます
3 .js を使用するデータを使用する場合、0-255 以外の Unicode 値をエンコードする場合は、escape

escape を使用します。それ以外の場合は、escape、encodeURI のエンコード結果を出力します。 、encodeURIComponent は同じです。
エスケープには 69 個の未エンコード文字があります: *、-、.、/、@、_、0-9、a-z、A-Z
encodeURI には 82 個の未エンコード文字があります: !、#、$、&、 ', (,), *, ,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent には 71 個の非エンコード文字があります: , ' ,(,),*,-,.,_,~,0-9,a-z,A-Z

これら 3 つの関数の紹介を添付します:


escape
メソッド
すべてのコンピュータで読み取れるように String オブジェクトをエンコードします。
escape(charString)
必須の charstring パラメータは、エンコードされる任意の String オブジェクトまたはテキストです。
説明
エスケープメソッドは、charstring の内容を含む文字列値 (Unicode 形式) を返します。すべてのスペース、句読点、アクセント、およびその他の非 ASCII 文字は、%xx エンコーディングで置き換えられます。
ここで、xx は文字を表す 16 進数と同じです。たとえば、スペースは " " として返されます。
255 を超える文字値は、%uxxxx 形式で保存されます。
エスケープ メソッドは、Uniform Resource Identifier (URI) のエンコードには使用できないことに注意してください。 encodeURI メソッドと encodeURIComponent メソッドを使用してエンコードする必要があります。

encodeURI メソッド
テキスト文字列を有効な URI (Uniform Resource Identifier) にエンコードします。
encodeURI(URIString)
必須の URIString パラメータは、エンコードされた URI を表します。
説明
encodeURI メソッドは、エンコードされた URI を返します。エンコード結果をdecodeURIに渡すと元の文字列が返されます。 encodeURI メソッドは、「:」、
、「/」、「;」、および「?」の文字をエンコードしません。これらの文字をエンコードするには、encodeURIComponent メソッドを使用してください。

encodeURIComponent メソッド
テキスト文字列を、Uniform Resource Identifier (URI) の有効なコンポーネントにエンコードします。
encodeURIComponent(encodedURIString)
必須の encodedURIString パラメータは、エンコードされた URI コンポーネントを表します。
説明

encodeURIComponent メソッドは、エンコードされた URI を返します。エンコード結果をdecodeURIComponentに渡すと元の文字列が返されます。 encodeURIComponent メソッドはすべての文字をエンコードするため、文字列が /folder1/folder2/default.html などのパスを表す場合、その中のスラッシュもエンコードされることに注意してください。その結果、エンコード結果 は Web サーバーにリクエストとして送信されたときに無効になります。文字列に複数の URI コンポーネントが含まれている場合は、encodeURI メソッドを使用してエンコードします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。