大家可要看清了,这里的URI不是URL
原字符串:<input name=keyword size=100 value="http://www.yongfa365.com/"><br>
<input type=button onclick=codeurl() value="转换"><br>
encodeURI:(<font color=red>一般对网址javascript编码就用这个</font>)<input name=encodeURItest size=100><br>
decodeURI:<input name=decodeURItest size=100><br>
escape:<input name=escapetest size=100><br>
encodeURIComponent:<input name=encodeURIComponenttest size=100><br>
<script>
function codeurl()
{
encodeURItest.value = encodeURI(keyword.value)
decodeURItest.value = decodeURI(encodeURItest.value)
escapetest.value = escape(keyword.value)
encodeURIComponenttest.value = encodeURIComponent(keyword.value)
}
</script>
网上相关介绍:
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
分享到:
相关推荐
`unescape()`可以解码由`escape()`函数编码的字符串,但这两个函数在现代JavaScript中已不推荐使用,取而代之的是更安全的`encodeURI()`、`encodeURIComponent()`、`decodeURI()`和`decodeURIComponent()`。...
总的来说,理解和正确使用`encodeURI`、`decodeURI`、`encodeURIComponent`和`decodeURIComponent`对于iOS应用开发中的数据处理至关重要,特别是在处理包含特殊字符的URL时,能够保证数据的准确传输和解析。
本文将详细探讨JavaScript中的`escape`函数及其C#对应的解码方法`System.Web.HttpUtility.UrlDecode`,同时也会讲解JavaScript中的`escape`、`encodeURI`和`encodeURIComponent`的区别以及它们的解码对应函数。...
编码方法主要包括encodeURI()和encodeURIComponent(),它们用于对URI(统一资源标识符)进行编码,以便将包含特殊字符或非ASCII字符的字符串安全地发送到Web浏览器。encodeURI()方法不会对URI中具有特殊意义的字符...
`encodeURI()`和`encodeURIComponent()`用于编码URI,它们与`escape()`和`unescape()`不同,因为前者可以正确处理Unicode字符,后者只适用于ASCII。`decodeURI()`和`decodeURIComponent()`则用于解码URI。 `Math`...
`decodeURI()`和`decodeURIComponent()`用于解码URL编码的字符串,`encodeURI()`和`encodeURIComponent()`则用于编码。`escape()`函数对字符串进行编码,但不适用于URL。`eval()`可以执行JavaScript代码字符串,但...
6. **URIError**:当使用encodeURI(), decodeURI(), encodeURIComponent(), decodeURIComponent(), escape(), 或 unescape()方法处理无效的URI时,会抛出URIError。 在实际编程中,我们可以根据需要自定义Error对象...
这类错误涉及的操作函数包括encodeURI、decodeURI、encodeURIComponent、decodeURIComponent、escape和unescape。 EvalError(eval函数执行错误)是特定于eval()函数执行失败时抛出的错误。在ES5规范中,eval()函数...
javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题...
encodeURIComponent 方法 将文本字符串编码为合法的通用资源标识符 (URI)组件。 Enumerator 对象 提供集合中的项的枚举。 相等运算符(==) 比较两个表达式,看是否相等。 Error 对象 包含在运行 JScript 代码时...