ホームページ >ウェブフロントエンド >jsチュートリアル >JS_javascript スキルで文字列をエンコードするいくつかの方法のガイド

JS_javascript スキルで文字列をエンコードするいくつかの方法のガイド

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

機能の説明
encodeURI() は文字列を URI
にエンコードします。 encodeURIComponent() は文字列を URI コンポーネントにエンコードします
scape() は文字列

をエンコードします

上記は、w3school からのデータをクエリすることです。では、3 つの違いは何でしょうか。テストさせてください。

コードをコピーします コードは次のとおりです:

var str = "http://localhost:8080/Product/index?id=123&attr=456&area=中国";
console.log(encodeURI(str));
console.log(encodeURIComponent(str));
console.log(escape(str));

印刷結果は次のとおりです。

コードをコピーします コードは次のとおりです:

http://localhost:8080/Product/index?id=123&attr=456&area=China
http://localhost:8080/Product/index?id=123&attr=456&area=中国
http://localhost:8080/Product/index?id=123&attr=456&area=%u4E2D%u56FD

ご覧のとおり、

encodeURI は、uri のセグメンテーションに使用される文字 (/?&;

など) をエンコードしません。

encodeURIComponent が実行されます。

エスケープを観察すると、:?& はトランスコードされているが、/ はトランスコードされていないことがわかりました。w3school の説明では、エスケープ関数は ASCII コード内の文字、数字、記号 (* @ - _ . /) を除くすべての文字を処理します。エンコードします。

さらに、エスケープで漢字「中国」をエンコードした後の結果は、最初の 2 つとは異なることがわかります。 W3SCHOOL では、この方法を使用せず、代わりに最初の 2 つを使用することをお勧めします。

以上がこの記事の全内容です。JavaScript を学習する皆さんのお役に立てれば幸いです。

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