javascript常用符号化フォーマット:escape()、encodeURL()、encodeURIComponent()

1523 ワード

escape()方法:
ISO Latin文字セットを使用して指定された文字列をエンコードします.すべてのスペース記号、句読点、特殊文字、その他のASCII文字は、%xx形式の文字コードに変換されます.例えば、スペース記号に対応するコードは%20です.
この方法ではエンコードされない文字(@*/+)
エンコーディング()方法:
URI文字列をUTF-8符号化フォーマットでescape形式の文字列に変換します.
この方法ではエンコードされない文字です.()=/;?+'
encodeURIComponent()方法:
URI文字列をUTF-8符号化フォーマットでescape形式の文字列に変換します.エンカウント()に比べて、この方法はより多くの文字をエンコードします.したがって、文字列にURIのいくつかの部分が含まれていると、この方法で符号化できません.文字が符号化されてからURLにエラーが表示されます.
この方法でエンコードされない文字:!()
したがって、中国語文字列にとって、文字列の符号化フォーマットをUTF-8形式に変換したくない場合(例えば、元のページとターゲットページのcharsetが一致する場合)は、escapeのみを使用する必要がある.ページがGB 2312または他のコードであれば、パラメータを受け取るページはUTF-8で符号化されます.encodeURIまたはencodeURIComponentを採用します.
また、encodeURI/encodeURIComponentはjavascript 1.5以降に導入され、escapeはjavascript 1.0版にあります.
<title> url          </title>

<script language="JavaScript">

var str="http://hi.baidu.com/bbjjss2008l?country=  &name=jz";

var urlStr=escape(str); 

document.write("escape    :<br>"+urlStr+"<br>   url    :<br>"+unescape(str));

urlStr=encodeURI(str);

document.write("<br>encodeURI:    :<br>"+urlStr+"<br>   url    :<br>"+decodeURI(str));

urlStr=encodeURIComponent(str);

document.write("<br>encodeURIComponent:    :<br>"+urlStr+"<br>   url    :<br>"+decodeURIComponent(str));

</script>