为什么80%的码农都做不了架构师?>>>   

escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符 在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +

encodeURI() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使 用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在 javascript1.0版本就有。

三种编解码方式 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& gt;');</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 的一部分

jquery.cookie 设置cookies使用encodeURIComponent和decodeURIComponent进行编码和解码,如果要在Java里取得jquery.cookie设置的值,会使用java.net.URLDecoder.decode(v, "UTF-8");进行解码方可取得正确的值!

转载于:https://my.oschina.net/god/blog/3521

java javascript 的编码相关推荐

  1. java改变变量编码方式_Java 8中的5个功能将改变您的编码方式

    java改变变量编码方式 Java 8在JVM和语言级别都包含了一些非常令人兴奋的功能. 尽管最初为该发行版设想的某些功能已扩展到第9版,或已推出第9版,但实际上有数十个新功能. 许多新添加的内容在编 ...

  2. java菱形乱码 编码_【分享】Java开发过程中中文乱码问题总结

    一.文件乱码处理 1.文件默认编码:默认使用项目的默认编码 右击文件->Properties->Resource->Text file encoding 2.JSP文件编码:由于JS ...

  3. java 解码 encodeuri_js与java encodeURI 进行编码与解码

    //网上一堆废话 内置不用写一堆文件处理真是蛋疼 JS escape()使用转义序列替换某些字符来对字符串进行编码 JavaScript 中国 编码后 JavaScript%u4E2D%u56FD u ...

  4. c语言中大写英文字母所占字节,Java中字符编码和字符串所占字节数 .

    首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...

  5. 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 使用 javadoc 命令 , 生成 Java 文档 , 报错 ; javadoc Student.java D:\develop\javadoc& ...

  6. Java Web安全编码

    JAVA Web安全编码规范要求 Java Web安全编码 输入输出数据验证 身份认证和访问控制 文件和资源管理 会话管理 错误和异常信息处理 数据加密 代码质量 序列化 本文转载,如有冒犯请联系本人 ...

  7. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解

    [博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...

  8. 如何理解java采用Unicode编码

    http://blog.csdn.net/gjb724332682/article/details/43229563 Java中字符仅以一种形式存在,那就是Unicode.由于java采用unicod ...

  9. Atmosphere 1.0:支持Java/JavaScript的异步通信框架

    Atmosphere 1.0是一个新的Java/Scala/Groovy框架,它试图将Web浏览器与应用服务器之间的通信抽象出来.在Web Socket.HTML5服务器端事件和其他特定于应用服务器的 ...

  10. java改变变量编码方式_Java 10将如何改变您的编码方式

    java改变变量编码方式 突出显示Java 10中新的Java局部变量类型推断功能 早在2016年,Java社区就掀起了新的JDK增强提案(JEP): JEP 286 . 现在,两年后,局部变量类型推 ...

最新文章

  1. 40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
  2. iframe和父窗体之间的互相监听方法
  3. P3698-[CQOI2017]小Q的棋盘【树形dp】
  4. 编程语言:C语言与Java的细致对比,你知道选谁了吗?
  5. xml动态生成java_从XML文档动态生成Java类
  6. 音游android平板,音游专题 - 有时候听歌远远不够,试试这些音游吧 - Android 应用 - 【最美应用】...
  7. Recyclerview单选和多选
  8. illegalargumentexception是什么异常_实战 | 统一异常处理介绍及实战
  9. 看雪CTF.TSRC 2018 团队赛 第九题『谍战』 解题思路
  10. javafx给图形上颜色_红牛商标无效案:新欧盟商标条例下如何满足颜色商标注册条件?...
  11. 【Oracle学习笔记】索引
  12. mysql嵌套查询效率低_mysql的嵌套查询效率很低
  13. 网络安全——D模块答题模式
  14. namecheap 邮件服务器,NameCheap域名邮局/企业邮局开通与初始设置
  15. 编辑ListView(Edit,Update,Inse
  16. vue中使用图片裁切器
  17. 《团队执行力》分享记录
  18. 建立arm linux运行环境,构建 arm-linux 仿真运行环境 (skyeye + arm-linux + NFS)
  19. python量化交易系统_Python学员作品-股票量化交易系统
  20. 搞定机器学习面试,这些是基础!(下载PDF)

热门文章

  1. jsp:include和%@include file=%的区别(简单了解)
  2. 【eclipse】启动不了报错java was started but returned exit code=13
  3. [机器学习]推荐系统之协同过滤算法
  4. 在MyEclipse Tomcat可以运行但是在Tomcat 6.x上却不可以运行
  5. C语言图形库简单对比及EGE库的安装小手册
  6. hibernate FetchType理解
  7. 《Linux内核分析》第一周学习报告
  8. JAVA笔记20-容器之四Map接口、自动打包、泛型(重要)
  9. asp.net 实现动态显示当前时间(不用javascript不考虑开销)
  10. 简单的汉字和十六进制转换