`
lmh2072005
  • 浏览: 114034 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

javascript中的编码和解码

    博客分类:
  • js
阅读更多

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编码与解码

    JavaScript编码与解码是Web开发中的重要组成部分,它涉及到字符集、编码格式以及字符串处理等多个方面。在这篇文章中,我们将深入探讨JavaScript中的编码与解码机制,并结合标签“源码”和“工具”来理解其在实际...

    JavaScript实现编码解码

    JavaScript实现编码解码! 值得下载看看!资源免费,大家分享!!

    JavaScript、JavaWeb对汉字等的编码与解码处理

    JavaScript和JavaWeb对汉字编码的策略是非常重要的,特别是在Web开发中,编码和解码的正确处理对于确保数据的正确传输和显示至关重要。在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape...

    JavaScript中的编码和解码函数

    在JavaScript中,编码和解码函数对于处理字符串和在Web应用程序中传递数据至关重要。这些函数主要涉及URL(统一资源定位符)的构建和解析,确保数据在不同环境间安全无误地传输。以下是对JavaScript中编码和解码函数...

    javascript 对url编码 解码

    JavaScript 对 URL 编码解码 JavaScript 中对 URL 编码和解码涉及到六个函数:escape、encodeURI、encodeURIComponent、unescape、decodeURI 和 decodeURIComponent。这六个函数的使用场景和特点分别是: escape ...

    javascript 编码解码(只针对英文字符)

    通过分析这个文件,我们可以进一步了解实际的编码解码过程和应用场景。 总之,JavaScript提供了多种处理字符串编码和解码的方法,对于英文字符,主要使用ASCII编码,而对于包含多语言的字符串,则需要借助Unicode和...

    实现HTML编码和解码的JavaScript工具类

    HTML编码和解码是Web开发中的重要概念,主要用于防止XSS(跨站脚本攻击)并确保内容在浏览器中正确显示。JavaScript作为一种客户端脚本语言,提供了处理这种编码和解码的功能,尤其在动态生成HTML内容时。"js-...

    java和js相互base64编码解码

    `调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...

    网页版PDU格式编码_解码

    而在线PDU格式编码_解码 使用AT指令发送中文短信_files很可能是与HTML页面相关的资源文件,包括CSS样式表、JavaScript脚本或其他辅助文件,这些文件共同确保了工具的正常运行和用户体验。 总的来说,这款网页版的...

    base62.js, node.js的javascript Base62编码/解码器.zip

    base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...

    纯Javascript脚本实现GBK URL编解码

    在JavaScript中,可以使用内置的`btoa`和`atob`函数进行Base64编码和解码。如果需要在Node.js环境中操作,可以使用`Buffer`对象的`toString`和`from`方法。 总结来说,纯JavaScript实现GBK URL编解码涉及到的关键...

    js对中文字符串进行gb2312编码解码

    在JavaScript中进行GB2312编码和解码可以帮助我们正确地在不同环境间传输和展示中文字符。 首先,让我们理解GB2312编码的工作原理。GB2312编码是基于两个字节的,每个汉字或符号由两个连续的字节表示。对于一个GB...

    Base64编码和解码的应用(前后端程序)

    以上就是关于Base64编码和解码在前后端程序中的应用。前端使用Base64编码图片和文本,后端通过Servlet接口接收并解码,整个流程通过Ajax实现无刷新通信。这样的机制使得二进制数据可以在网络上高效、安全地传输。

    js实现opus的编码和解码的完整demo代码

    js实现opus的编码和解码的完整代码,其中解码可直接运行html,编码示例需要在机器上启动apache服务。 opus编码:可实现wav读取后,编码为opus,且可保存为opus的文件。 opus解码:打开opus的文件后,可解码出pcm...

    jother编码解码工具

    "jother编码解码工具"是一个专门用于JavaScript环境中的工具,它能够帮助开发者实现文字到标点符号的转换,这对于某些特定的文本处理任务,如信息加密、数据分析或者用户界面的特殊展示,可能是非常有用的。...

    javascript base64编码解码函数

    javascript版本的 base64解码和编码函数。

    Android-js-htmlencode是一款可以实现HTML编码和解码的JavaScript工具类

    `Android-js-htmlencode`正是这样一个工具,它提供了一个JavaScript类,使得在Android应用中进行HTML编码和解码变得简单易行。 首先,我们要理解HTML编码的重要性。HTML编码主要是为了避免浏览器将某些字符解释为...

    Base64 编码和解码

    在JavaScript中,Base64编码和解码是经常用到的功能,尤其是在处理图像、JSON数据或者进行跨平台通信时。 ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后...

    Delphi Base64编码,javascript解码汉字乱码解决方法演示程序(源代码)

    Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...

    js解码 、java编码

    在IT行业中,编码和解码是数据处理的重要环节,特别是在JavaScript和Java这两种广泛使用的编程语言中。本文将深入探讨“js解码”和“java编码”这两个主题,并结合标签“源码”和“工具”,讨论如何在实际项目中应用...

Global site tag (gtag.js) - Google Analytics