java javascript 的编码
为什么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 的编码相关推荐
- java改变变量编码方式_Java 8中的5个功能将改变您的编码方式
java改变变量编码方式 Java 8在JVM和语言级别都包含了一些非常令人兴奋的功能. 尽管最初为该发行版设想的某些功能已扩展到第9版,或已推出第9版,但实际上有数十个新功能. 许多新添加的内容在编 ...
- java菱形乱码 编码_【分享】Java开发过程中中文乱码问题总结
一.文件乱码处理 1.文件默认编码:默认使用项目的默认编码 右击文件->Properties->Resource->Text file encoding 2.JSP文件编码:由于JS ...
- java 解码 encodeuri_js与java encodeURI 进行编码与解码
//网上一堆废话 内置不用写一堆文件处理真是蛋疼 JS escape()使用转义序列替换某些字符来对字符串进行编码 JavaScript 中国 编码后 JavaScript%u4E2D%u56FD u ...
- c语言中大写英文字母所占字节,Java中字符编码和字符串所占字节数 .
首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...
- 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )
文章目录 一.报错信息 二.解决方案 一.报错信息 使用 javadoc 命令 , 生成 Java 文档 , 报错 ; javadoc Student.java D:\develop\javadoc& ...
- Java Web安全编码
JAVA Web安全编码规范要求 Java Web安全编码 输入输出数据验证 身份认证和访问控制 文件和资源管理 会话管理 错误和异常信息处理 数据加密 代码质量 序列化 本文转载,如有冒犯请联系本人 ...
- java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
[博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...
- 如何理解java采用Unicode编码
http://blog.csdn.net/gjb724332682/article/details/43229563 Java中字符仅以一种形式存在,那就是Unicode.由于java采用unicod ...
- Atmosphere 1.0:支持Java/JavaScript的异步通信框架
Atmosphere 1.0是一个新的Java/Scala/Groovy框架,它试图将Web浏览器与应用服务器之间的通信抽象出来.在Web Socket.HTML5服务器端事件和其他特定于应用服务器的 ...
- java改变变量编码方式_Java 10将如何改变您的编码方式
java改变变量编码方式 突出显示Java 10中新的Java局部变量类型推断功能 早在2016年,Java社区就掀起了新的JDK增强提案(JEP): JEP 286 . 现在,两年后,局部变量类型推 ...
最新文章
- 40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
- iframe和父窗体之间的互相监听方法
- P3698-[CQOI2017]小Q的棋盘【树形dp】
- 编程语言:C语言与Java的细致对比,你知道选谁了吗?
- xml动态生成java_从XML文档动态生成Java类
- 音游android平板,音游专题 - 有时候听歌远远不够,试试这些音游吧 - Android 应用 - 【最美应用】...
- Recyclerview单选和多选
- illegalargumentexception是什么异常_实战 | 统一异常处理介绍及实战
- 看雪CTF.TSRC 2018 团队赛 第九题『谍战』 解题思路
- javafx给图形上颜色_红牛商标无效案:新欧盟商标条例下如何满足颜色商标注册条件?...
- 【Oracle学习笔记】索引
- mysql嵌套查询效率低_mysql的嵌套查询效率很低
- 网络安全——D模块答题模式
- namecheap 邮件服务器,NameCheap域名邮局/企业邮局开通与初始设置
- 编辑ListView(Edit,Update,Inse
- vue中使用图片裁切器
- 《团队执行力》分享记录
- 建立arm linux运行环境,构建 arm-linux 仿真运行环境 (skyeye + arm-linux + NFS)
- python量化交易系统_Python学员作品-股票量化交易系统
- 搞定机器学习面试,这些是基础!(下载PDF)
热门文章
- jsp:include和%@include file=%的区别(简单了解)
- 【eclipse】启动不了报错java was started but returned exit code=13
- [机器学习]推荐系统之协同过滤算法
- 在MyEclipse Tomcat可以运行但是在Tomcat 6.x上却不可以运行
- C语言图形库简单对比及EGE库的安装小手册
- hibernate FetchType理解
- 《Linux内核分析》第一周学习报告
- JAVA笔记20-容器之四Map接口、自动打包、泛型(重要)
- asp.net 实现动态显示当前时间(不用javascript不考虑开销)
- 简单的汉字和十六进制转换