关于处理字符串编码:escape、encodeURI、encodeURICompone
2015-09-02 15:58
441 查看
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。解码:unescape()
encodeURI() 函数可把字符串作为 URI 进行编码。 解码:decodeURI()
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。解码:decodeURIComponent()
共同点:
这三个函数均采用unicode字符集。
不同点:
escape是将字符的unicode编码转化为16进制序列(转义序列,转义序列(escape sequences)),其不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。
encodeURI是将字符的unicode编码通过UTF-8来表示,其不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z。
encodeURIComponent也是将字符的unicode编码通过UTF-8来表示,其与encodeURI的唯一区别就是它们不编码的字符有所差别,encodeURIComponent不编码的字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z。
使用场景
1. 传递参数时(GET方法)需要使用encodeURIComponent,这样组合的URL才不会被#、?、&等特殊字符所干扰。
2. 对URL(URL是一种URI)进行整体编码时使用encodeURI,这样就可以确保URL中的特殊含义字符(#、?、&、etc.)不被编码。
3. ECMAScript v3中反对对escape()的使用,并建议用encodeURI和encodeURIComponent代替,不过escape()依然被广泛的用于cookie的编码,因为escape()恰好编码了cookie中的非法字符并且对路径中常出现的“/”不进行编码。
encodeURI() 函数可把字符串作为 URI 进行编码。 解码:decodeURI()
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。解码:decodeURIComponent()
共同点:
这三个函数均采用unicode字符集。
不同点:
escape是将字符的unicode编码转化为16进制序列(转义序列,转义序列(escape sequences)),其不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。
encodeURI是将字符的unicode编码通过UTF-8来表示,其不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z。
encodeURIComponent也是将字符的unicode编码通过UTF-8来表示,其与encodeURI的唯一区别就是它们不编码的字符有所差别,encodeURIComponent不编码的字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z。
使用场景
1. 传递参数时(GET方法)需要使用encodeURIComponent,这样组合的URL才不会被#、?、&等特殊字符所干扰。
2. 对URL(URL是一种URI)进行整体编码时使用encodeURI,这样就可以确保URL中的特殊含义字符(#、?、&、etc.)不被编码。
3. ECMAScript v3中反对对escape()的使用,并建议用encodeURI和encodeURIComponent代替,不过escape()依然被广泛的用于cookie的编码,因为escape()恰好编码了cookie中的非法字符并且对路径中常出现的“/”不进行编码。
相关文章推荐
- Storm: monitor storm with supervisor
- 学习笔记 SQLite数据库应用
- 拷贝文件中有01.这样的行符号为新的文件
- MVC 上传下载
- 后缀数组 - poj3294 Life Forms
- 采用Tokyo Cabinet的一些问题
- 如何检索Android设备的唯一ID
- Google I/O 2015 为 Android 开发者带来了哪些福利?
- Build Your Programming Technical Skills
- Windows下mysql忘记root密码的解决方法
- [.Net MVC] 过滤器以及异常处理
- android退出程序
- 查询表中增加一列
- 查看keystore的信息
- 暑假快要结束了
- 2057 A + B Again【十六进制】
- Docker-容器互联访问之数据容器操作过程
- 各种幻灯片特效SuperSlide
- 如何使用KeyChain保存和获取UDID
- Python语法精要