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版にあります.
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>