1. encodeURIComponent(url) 函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
eg:
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
输出:http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
document.write(encodeURIComponent(",/?:@&=+$#"))
输出:%2C%2F%3F%3A%40%26%3D%2B%24%23
2. encodeURI(url) 函数可把字符串作为 URI 进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
eg:
document.write(encodeURI("http://www.w3school.com.cn/My first/")
)
输出:http://www.w3school.com.cn/My%20first/
document.write(encodeURI(",/?:@&=+$#")
)
输出:,/?:@&=+$#
3. decodeURIComponent(url) 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
eg:
var test1="http://www.w3school.com.cn/My first/"
document.write(encodeURIComponent(test1)
+ "<br />")
document.write(decodeURIComponent(test1)
)
输出:http%3A%2F%2Fwww.w3school.com.cn%2FMy%20first%2F
http://www.w3school.com.cn/My first/
4. decodeURI(url) 函数可对 encodeURI() 函数编码过的 URI 进行解码。
eg:
var test1="http://www.w3school.com.cn/My first/"
document.write(encodeURI(test1)
+ "<br />")
document.write(decodeURI(test1)
)
输出:http://www.w3school.com.cn/My%20first/
http://www.w3school.com.cn/My first/
5. escape() 函数可对字符串进行编码
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。
可以使用 unescape() 对 escape() 编码的字符串进行解码。
ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。
eg:
document.write(escape("Visit W3School!") + "<br />")
document.write(escape("?!=()#%&"))
输出:Visit%20W3School%21
%3F%21%3D%28%29%23%25%26
6. unescape() 函数可对通过 escape() 编码的字符串进行解码。
该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。
ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
eg:
var test1="Visit W3School!"
test1=escape(test1)
document.write (test1 + "<br />")
test1=unescape(test1)
document.write(test1 + "<br />")
输出:Visit%20W3School%21
Visit W3School!
网上看到不用后两个编码解码方法可能是 escape() 只是为 ASCII字符 做转换工作,转换成的 %unnnn 这样的码,如果要用更多的字符如 UTF-8字符库 就一定要用 encodeURIComponent() 或 encodeURI() 转换才可以成 %nn%nn 这的码才可以
以上内容参考http://www.w3school.com.cn/ 和网上记录下
分享到:
相关推荐
JavaScript编码与解码是Web开发中的重要组成部分,它涉及到字符集、编码格式以及字符串处理等多个方面。在这篇文章中,我们将深入探讨JavaScript中的编码与解码机制,并结合标签“源码”和“工具”来理解其在实际...
JavaScript实现编码解码! 值得下载看看!资源免费,大家分享!!
JavaScript和JavaWeb对汉字编码的策略是非常重要的,特别是在Web开发中,编码和解码的正确处理对于确保数据的正确传输和显示至关重要。在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape...
在JavaScript中,编码和解码函数对于处理字符串和在Web应用程序中传递数据至关重要。这些函数主要涉及URL(统一资源定位符)的构建和解析,确保数据在不同环境间安全无误地传输。以下是对JavaScript中编码和解码函数...
JavaScript 对 URL 编码解码 JavaScript 中对 URL 编码和解码涉及到六个函数:escape、encodeURI、encodeURIComponent、unescape、decodeURI 和 decodeURIComponent。这六个函数的使用场景和特点分别是: escape ...
通过分析这个文件,我们可以进一步了解实际的编码解码过程和应用场景。 总之,JavaScript提供了多种处理字符串编码和解码的方法,对于英文字符,主要使用ASCII编码,而对于包含多语言的字符串,则需要借助Unicode和...
HTML编码和解码是Web开发中的重要概念,主要用于防止XSS(跨站脚本攻击)并确保内容在浏览器中正确显示。JavaScript作为一种客户端脚本语言,提供了处理这种编码和解码的功能,尤其在动态生成HTML内容时。"js-...
`调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
在JavaScript中,可以使用内置的`btoa`和`atob`函数进行Base64编码和解码。如果需要在Node.js环境中操作,可以使用`Buffer`对象的`toString`和`from`方法。 总结来说,纯JavaScript实现GBK URL编解码涉及到的关键...
而在线PDU格式编码_解码 使用AT指令发送中文短信_files很可能是与HTML页面相关的资源文件,包括CSS样式表、JavaScript脚本或其他辅助文件,这些文件共同确保了工具的正常运行和用户体验。 总的来说,这款网页版的...
js实现opus的编码和解码的完整代码,其中解码可直接运行html,编码示例需要在机器上启动apache服务。 opus编码:可实现wav读取后,编码为opus,且可保存为opus的文件。 opus解码:打开opus的文件后,可解码出pcm...
以上就是关于Base64编码和解码在前后端程序中的应用。前端使用Base64编码图片和文本,后端通过Servlet接口接收并解码,整个流程通过Ajax实现无刷新通信。这样的机制使得二进制数据可以在网络上高效、安全地传输。
在JavaScript中进行GB2312编码和解码可以帮助我们正确地在不同环境间传输和展示中文字符。 首先,让我们理解GB2312编码的工作原理。GB2312编码是基于两个字节的,每个汉字或符号由两个连续的字节表示。对于一个GB...
javascript版本的 base64解码和编码函数。
"jother编码解码工具"是一个专门用于JavaScript环境中的工具,它能够帮助开发者实现文字到标点符号的转换,这对于某些特定的文本处理任务,如信息加密、数据分析或者用户界面的特殊展示,可能是非常有用的。...
`Android-js-htmlencode`正是这样一个工具,它提供了一个JavaScript类,使得在Android应用中进行HTML编码和解码变得简单易行。 首先,我们要理解HTML编码的重要性。HTML编码主要是为了避免浏览器将某些字符解释为...
在JavaScript中,Base64编码和解码是经常用到的功能,尤其是在处理图像、JSON数据或者进行跨平台通信时。 ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后...
Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...
在IT行业中,编码和解码是数据处理的重要环节,特别是在JavaScript和Java这两种广泛使用的编程语言中。本文将深入探讨“js解码”和“java编码”这两个主题,并结合标签“源码”和“工具”,讨论如何在实际项目中应用...