ホームページ >ウェブフロントエンド >jsチュートリアル >jsの文字エンコーディング関数の違い解析_javascriptスキル
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 を使用するのが最適です。