ホームページ >ウェブフロントエンド >jsチュートリアル >jsの文字エンコーディング関数の違い解析_javascriptスキル

jsの文字エンコーディング関数の違い解析_javascriptスキル

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

1. Escape は、ANSI コード 0 ~ 255 以外の文字をエンコードし、Unicode 値である %u**** 形式で出力します。escape メソッドは、charstring の内容を含む文字列値 (Unicode 形式) を返します。すべてのスペース、句読点、アクセント、およびその他の非 ASCII 文字は、%xx エンコーディングで置き換えられます。xx は、文字を表す 16 進数と同じです。たとえば、返されるスペースは " "
エスケープには 69 個のエンコードされていない文字があります: *、-、.、/、@、_、0-9、a-z、A-Z

2。アドレスバーのエンコードに使用されるエスケープと同様、
encodeURI は 82 文字をエンコードしません: !、#、$、&、'、(,)、*、,,,-,.,/,:,;,=, ?、@、_、~、0-9、a-z、A-Z

3. encodeURIComponent はアドレス バーのエンコードに使用されます。テキスト文字列を、Uniform Resource Identifier (URI) の有効なコンポーネントにエンコードします。中国語や韓国語などの特殊文字を UTF-8 形式の URL エンコードに変換します。ページのエンコードが gb2312 の場合、サーバーは
encodeURIComponent に 71 個のエンコードされていない文字を受け取ります:!、' 、(,)、*。 ,-,.,_,~,0-9,a-z,A-Z

したがって、js はデータを使用するときにエスケープを使用できます。アドレスバーデータの場合は、エンコードに encodeURIComponent を使用するのが最適です。

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