两个都decodeURI()和decodeURIComponent()是 Javascript 全局函数,用于解码编码的 URI(统一资源标识符)。
JavaScript decodeURI() 函数:它对之前编码的字符串进行解码encodeURI()函数。它通过替换每个返回一个解码的 URIUTF-8转义序列及其代表的字符。
用法:
decodeURI(encodeURI(x));
Parameters: 它包含一个参数,其中包括先前由 encodeURI() 函数编码的字符串,因此结果将再次为 x。
Example:本示例使用decodeURI()函数。
HTML
<script type="text/javascript">
var decodeText1 = decodeURI('http://www.testing.com/');
console.log(decodeText1);
var decodeText2 = decodeURI('http%3A%2F%2Fwww.testing.com%2F');
console.log(decodeText2);
</script>
输出:
http://www.testing.com/ http%3A%2F%2Fwww.testing.com%2F
JavaScript decodeURIComponent() 函数:它对之前编码的字符串进行解码encodeURIComponent()函数。它通过将每个 UTF-8 转义序列替换为其表示的字符来返回解码的 URI 组件。它可以解码 %00 到 %7F 之间的任何值。
用法:
decodeURIComponent(encodeURIComponent(x));
参数:包含先前由 encodeURIComponent() 编码的字符串的单个参数,因此结果将再次为 x。
Example:此示例位于decodeURIComponent()
HTML
<script type="text/javascript">
var decodeText1 = decodeURIComponent(
'http://www.testing.com/');
console.log(decodeText1);
var decodeText2 = decodeURIComponent(
'http%3A%2F%2Fwww.testing.com%2F');
console.log(decodeText2);
</script>
输出:
http://www.testing.com/ http://www.testing.com/
注意:两个函数都会抛出URI错误表明字符串中的一个或多个转义序列格式错误,无法正确解码。
decodeURIComponent()和decodeURI()函数区别:
- decodeURI():它采用encodeURI(url)字符串,因此无法解码字符(, /?: @ & = + $#)
- decodeURIComponent():它采用encodeURIComponent(url) 字符串,以便可以解码这些字符。
- decodeURI():它以encodeURI(url)字符串作为参数并返回解码后的字符串。
- decodeURIComponent():它以encodeURIComponent(url)字符串作为参数并返回解码后的字符串。
- 解码URI(“%41”):它返回“A”
- 解码URIComponent(“%41”)它返回“A”
- 解码URI(“%26”):它返回“%26”
- 解码URIComponent(“%26”):它返回“&”
相关用法
- Javascript decimal转hex用法及代码示例
- Javascript decimal转octal用法及代码示例
- Javascript dataView.getFloat32()用法及代码示例
- Javascript dataView.getFloat64()用法及代码示例
- Javascript dataView.getInt16()用法及代码示例
- Javascript dataView.getInt32()用法及代码示例
- Javascript dataView.getInt8()用法及代码示例
- Javascript dataView.getUint16()用法及代码示例
- Javascript dataView.getUint32()用法及代码示例
- Javascript dataView.getUint8()用法及代码示例
- Javascript dataView.setFloat32()用法及代码示例
- Javascript dataView.setFloat64()用法及代码示例
- Javascript dataView.setInt16()用法及代码示例
- Javascript dataView.setInt32()用法及代码示例
- Javascript dataView.setInt8()用法及代码示例
- Javascript dataView.setUint16()用法及代码示例
- Javascript dataView.setUint32()用法及代码示例
- Javascript dataView.setUint8()用法及代码示例
- Javascript date.getDate()用法及代码示例
- Javascript date.getFullYear()用法及代码示例
- Javascript date.getHours()用法及代码示例
- Javascript date.getMilliseconds()用法及代码示例
- Javascript date.getUTCDate()用法及代码示例
- Javascript date.getUTCDay()用法及代码示例
- Javascript date.getUTCFullYear()用法及代码示例
注:本文由纯净天空筛选整理自deekshajaindodya大神的英文原创作品 Difference between decodeURIComponent() and decodeURI() functions in JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。