1、escape對ansi碼0-255以外的字符進行編碼輸出%u****格式即unicode值,escape 方法返回一個包含了 charstring 內容的字符串值( Unicode 格式)。所有空格、標點、重音符號以及其他非 ASCII 字符都用 %xx 編碼代替,其中 xx 等於表示該字符的十六進制數。例如,空格返回的是 "%20"
escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z
2、encodeURI類似escape,用於地址欄編碼
encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
3、encodeURIComponent用於地址欄編碼。將文本字符串編碼為一個統一資源標識符 (URI) 的一個有效組件。它是將中文、韓文等特殊字符轉換成utf-8格式的url編碼,如果你的頁面編碼是gb2312的話,服務器端接收的將是亂碼.
encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
所以js使用數據時可以使用escape,對於地址欄數據,最好用encodeURIComponent進行編碼。