ホームページ  >  記事  >  ウェブフロントエンド  >  URL stringのJSエンコード/デコード解析_javascriptスキル

URL stringのJSエンコード/デコード解析_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:59:221224ブラウズ

ただし、escape()、encodeURI()、および encodeURIComponent() の 3 つのメソッドは、URL の整合性に影響を与える一部の特殊な
文字をフィルタリングできます。ただし、後の 2 つは文字列を UTF-8 に変換して送信するため、ページ エンコーディングの違いによる文字化けの問題は解決されます
。例: 送信ページと受信ページのエンコード形式 (Charset) が一致していない場合 (送信ページが GB2312、受信ページのエンコードが
UTF-8 であると仮定)、escape() を使用して中国語を変換して送信します。文字列は文字化けの原因となります。
JS で URL をエンコード/デコードするためのさまざまなメソッドを以下に示します。
escape メソッド: すべてのコンピュータで読み取ることができる、エンコードされた String オブジェクトを返します。
functionscape(charString : String) : String
このメソッドでエンコードされない文字: @ * /
説明:escape メソッドは、charstring の内容を含む文字列値 (Unicode 形式) を返します。すべてのスペース、句読点、
アクセント、およびその他の非 ASCII 文字は、%xx エンコーディングで置き換えられます。xx は、文字を表す 16 進数と同じです。
たとえば、スペースは " " として返されます。 (255 を超える文字値は %uxxxx 形式で保存されます。)
注: エスケープ メソッドは、Uniform Resource Identifier (URI) のエンコードには使用できません。エンコードするには、encodeURI メソッドと
encodeURIComponent メソッドを使用します。
encodeURI メソッド: 有効な URI (Uniform Resource Identifier) としてエンコードされた文字列を返します。
function encodeURI(URIString : String) : String
このメソッドでエンコードされない文字: ! @ # $ & * ( ) = : / '
説明: encodeURI メソッドは、エンコードされた文字列を返します。 URI。エンコード結果を decodeURI に渡すと、最初の
文字列が返されます。 encodeURI は、「:」、「/」、「;」、および「?」の文字をエンコードしません。これらの文字をエンコードするには、
encodeURIComponent を使用してください。
encodeURIComponent メソッド: 有効なコンポーネントを URI (Uniform Resource Identifier) としてエンコードした文字列を返します。
function encodeURIComponent(encodedURIString : String) : String
このメソッドでエンコードされない文字: ! * ( ) '
説明: encodeURIComponent メソッドは、エンコードされた URI を返します。エンコード結果が
decodeURIComponent に渡されると、初期文字列が返されます。 encodeURIComponent メソッドはすべての文字をエンコードするため、
文字列が /folder1/folder2/default.html などのパスを表す場合、その中のスラッシュも
エンコードされることに注意してください。 string は、Web サーバーにリクエストとして送信される場合は無効になります。文字列に複数の URI
コンポーネントが含まれている場合は、encodeURI メソッドを使用してそれらをエンコードします。
unescape メソッド:エスケープ メソッドでエンコードされた String オブジェクトからデコードされた文字列を返します。
function unescape(charString : String) : String
説明: unescape メソッドは、charstring の内容を含む文字列値を返します。 %xx 16 進数形式でエンコードされたすべての
文字は、ASCII 文字セットの同等の文字に置き換えられます。 (%uxxxx 形式でエンコードされた文字 (Unicode 文字) は、16 進エンコード xxxx の Unicode 文字に置き換えられます。)
注: unescape メソッドは、Uniform Resource Identifier (URI) のデコードに使用しないでください。代わりに、decodeURI メソッドと
decodeURIComponent メソッドを使用してください。
decodeURI メソッド: エンコードされた URI (Uniform Resource Identifier) の非エンコード形式を返します。
function decodeURI(URIstring : String) : String
decodeURIComponent メソッド: URI (Uniform Resource Identifier) のエンコードされたコンポーネントのエンコードされていない形式を返します。
function decodeURIComponent(encodedURIString : String) : String
ところで: C# で URL をエンコードする方法。 。 。
エンコーディング: Server.UrlEncode(string)
デコーディング: Server.UrlDecode(string) 前述の 3 つのクライアント側エンコーディングはすべて、このメソッドを使用してバックグラウンドでデコードできます。

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