エスケープでエンコードされない 69 文字があります: *、+、-、.、/、@、_、0-9、az、AZ
encodeURI でエンコードされない 82 文字があります:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~, 0-9、az、AZ
encodeURIComponent は 71 文字をエンコードしません: !、'、(,)、*、-、.、_、~、0-9、az、AZ
1.
JS: エスケープ:
jsでデータを使用する場合はエスケープを使用できます
例: コレクション内の履歴レコード。
0-255以外のUnicode値をエンコードした場合は、%u****形式で出力されます。それ以外の場合、escape、encodeURI、encodeURIComponentのエンコード結果は同じになります。
unescape を使用してデコードする
C#:
HttpUtility.UrlEncode
HttpUtility.UrlDecode
2.
JS: エンコードURI:
URL ジャンプを行うときに encodeURI を全体として使用できます。
例: Location.href=encodeURI("http://cang.baidu.com/do/s?word=Baidu&ct=21");
decodeURI(); を使用してデコードします。
C#: デコードURIコンポーネント
3.
JS: エンコードURIコンポーネント:
パラメータを渡すときは、結合された URL が # などの特殊文字で切り詰められないように、encodeURIComponent を使用する必要があります。
例: <script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&
u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">終了</a& gt;');</script>
decodeURIComponent() を使用してデコードする
C#:
[HttpContext.Current.]Server.UrlDecode
[HttpContext.Current.]Server.UrlEncode