`
Virgo_S
  • 浏览: 1150927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS三种编解码方式

    博客分类:
  • JS
阅读更多
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

1、   传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。                          

例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>

2、   进行url跳转时可以整体使用encodeURI

例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

3、   js使用数据时可以使用escape[Huoho.Com编辑]

例如:搜藏中history纪录。

4、   escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

========================================================

unescape 方法

从用 escape 方法编码的 String 对象中返回已解码的字符串。

function unescape(charString : String) : String


    参数

charString

必选。要解码的 String 对象或文本。

备注

unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。注意 unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。



decodeURI 方法

返回一个已编码的统一资源标识符 (URI) 的非编码形式。

function decodeURI(URIstring : String) : String

参数

URIstring

必选。表示编码 URI 的字符串。

备注

使用 decodeURI 方法代替已经过时的 unescape 方法。

decodeURI 方法返回一个字符串值。

如果 URIString 无效,将发生 URIError。



decodeURIComponent 方法

返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。

function decodeURIComponent(encodedURIString : String) : String

必选的 encodedURIString 参数是一个表示已编码的 URI 组件的值。

备注

URIComponent 是一个完整的 URI 的一部分

分享到:
评论

相关推荐

    javascript 三种编解码方式

    总而言之,JavaScript提供了多种编解码方式以应对不同场景下对字符串的编码与解码需求。合理选择使用不同的函数,不仅能保证编码数据在传输过程中的完整性,也能确保数据的接收方能够正确解析数据。

    纯Javascript脚本实现GBK URL编解码

    总结来说,纯JavaScript实现GBK URL编解码涉及到的关键技术点包括GBK编码和解码、URL编码和解码,以及可能的Base64编码和解码。实际实现时,可能需要结合第三方库或自定义函数来处理GBK编码,同时充分利用JavaScript...

    JS中三种编码方式(escape,encodeURI,encodeURIComponent)

    主要涉及到三种编码方法:`escape()`,`encodeURI()` 和 `encodeURIComponent()`。这些方法各有不同的应用场景和规则,理解它们之间的区别对于编写健壮的前端代码至关重要。 首先,`escape()` 方法是一种古老的编码...

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

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

    js gb2312编解码

    直接打包省掉 很多麻烦 开包及用 编码 var s = $url.ecode(m); 解码 var m = $url.ecode(s);

    web前端三种常见的通过JS加密文本方式

    base64.js文件提供了Base64编码和解码的JavaScript实现。 3. **SHA1(Secure Hash Algorithm 1)** SHA1是另一种哈希函数,与MD5类似,它也是将任意长度的数据转化为固定长度的160位(20字节)摘要。相比MD5,SHA1...

    JS邮政编码验证

    JS 邮政编码验证是指通过 JavaScript 语言来验证邮政编码的正确性,确保用户输入的邮编符合一定的格式和规则。本文将详细介绍 JS 邮政编码验证的实现方法和相关知识点。 一、邮政编码的格式和规则 邮政编码是指...

    js对图片base64编码字符串进行解码并输出图像示例

    Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,它在传输或存储非文本数据时非常有用,例如图片。 在HTML文档中,`&lt;img&gt;`标签通常用于展示图像,但在这里,我们将通过JavaScript来实现这一功能。首先,...

    three.js 环境中使用的Draco解码器

    `Draco`压缩技术基于两种主要的编码方式:几何属性编码和拓扑关系编码。几何属性编码处理顶点位置、颜色、纹理坐标等信息,通过查找表和量化等手段减少数据量。而拓扑关系编码则关注面的连接关系,通过高效的数据...

    js技巧 javaScript编码技巧

    本文将深入探讨一些JS编码技巧,帮助开发者提升网站特效的实现能力。 一、变量与数据类型 在JavaScript中,变量声明通常使用`var`、`let`或`const`关键字。理解其作用域和生命周期至关重要。`var`具有函数作用域,...

    JS实现URL编码转换中文

    ### JS实现URL编码转换中文 在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用...

    javascript url几种编码方式详解

    2. encodeURI()是javascript中真正用来对URL编码的函数。编码整个URL地址,但对特殊含义的符号”;/?:@&=+$,#”,也不进行编码。对应的解码函数是decodeURI()。 3. encodeURIComponent()能编码”;/?:@&=+$,#”这些...

    JavaScript程序编码规范.pdf

    ### JavaScript程序编码规范 #### 一、概述 《JavaScript程序编码规范》是一份旨在提高JavaScript代码质量和可维护性的指南。该规范由Douglas Crockford编写,并由cloudwater翻译成中文版。Crockford是一位著名的...

    Node.js-iconv-lite-纯javascript转换字符编码

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。在处理文本时,尤其是涉及不同编码格式的数据,Node.js 提供了丰富的...

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

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

Global site tag (gtag.js) - Google Analytics