最近有同事问http url中或者cookie中被译码的中文怎么被转换回来。
我们知道用jdk自带的:native2ascii 可以将中文和unicode来回转的,但是java里怎么搞呢。
这里记录下简单的装换方式
例如有中文 “测试中文转换”
用native2ascii 生成的unicode 如下
\u6d4b\u8bd5\u4e2d\u6587\u8f6c\u6362
然后这个编码如果再被url encode下就会变为这样
%5Cu6d4b%5Cu8bd5%5Cu4e2d%5Cu6587%5Cu8f6c%5Cu6362
在java里可以借助一些辅助类 将
%5Cu6d4b%5Cu8bd5%5Cu4e2d%5Cu6587%5Cu8f6c%5Cu6362 还原为 “测试中文转换”
或者将 \u6d4b\u8bd5\u4e2d\u6587\u8f6c\u6362 还原为 “测试中文转换”
首先java里对应的url encode类是
URLEncoder 和 URLDecoder
从unicode到 中文可以使用apache下的common-lang里的 StringEscapeUtils.unescapeJava方法。
例如需要将url encode后的字符串还原到 中文的话 需要如下的调用
String abc="%5Cu6d4b%5Cu8bd5%5Cu4e2d%5Cu6587%5Cu8f6c%5Cu6362";
String bbc=URLDecoder.decode(abc);
System.out.println(bbc);
String cbc= org.apache.commons.lang.StringEscapeUtils.unescapeJava(bbc);
System.out.println(cbc);
分享到:
相关推荐
Java解决UTF-8的BOM问题
idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...
能够集成到Source Insight中,解决JAVA文件乱码问题
Java字符串编码查询及转换,可将常用的一些编码格式转换成utf-8
在eclispe的项目中,有存在项目字符集和工作空间字符集不匹配,该jar只能将项目文件中的.java结尾的文件转为utf8编码,并且源文件必须为gbk编码的,否则乱码
java utf8 转换为 gb2312 java utf8 转换为 gb2312
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBK转UTF-8
在开发的时候经常碰到这样的情况,需要将原本编码格式为GBK的工程改成UTF-8来编码,设置之后,注释全都乱码了,一个一个改太麻烦,有了这个工具只用运行一下main方法,一键搞定 ps:如果是UTF-8转GBK,或是其他编码...
如果之前项目类用的编码不统一,或有的是GBK.或是其他的,要一次性转为UTF8编码,又不想造成乱码,直接用本代码即可转换
Java生成pdf文件,解决中文乱码问题.pdf
*文件编码转换,gbk与utf-8互转 * changeFileCode 方法,4个属性:(需要转换的文件目录,转换后的文件目录,当前文件编码格式,转换成需要的文件编码); * 需要转换的文件目录,转换后的文件目录--可以为同一路径...
Java工程编码格式由GBK转化成utf-8(编码格式互转) https://ymjin.blog.csdn.net/article/details/118769530
可以帮助你把中文转换成UTF-8编码形式,UTF-8编码与中文互转,同时也支持把UTF-8编码过的字符还原成中文,将字符串转换为UTF-8形式,解决在网络传输过程中出现的字符乱码,同时可跨平台使用。
JDK中文API网上很多,但是都是GBK版本的,在Eclipse的UTF8环境中无法在代码空间中正常显示中文,只有通过F1查看,比较不方便.所以自己把官方GBK版本转换成了UTF8版本,可以在UTF8开发环境中正常显示 以下为Eclipse和...
java 把PDF转换成BASE64,java 把PDF转换成BASE64,java 把PDF转换BASE64,java 把PDF转换成BASE64java 把PDF转换成BASE64
可用于转换java文件为指定格式编码工具(内付源码),自动检测文件的编码类型。
3. 使用字符集转换:可以使用字符集转换工具将GBK编码方式转换为UTF-8编码方式。 4. 使用Java语言的中文支持类库:Java语言提供了一些中文支持类库,例如,java.lang.Character类,可以使用这些类库来解决中文乱码...
//判断方法是以&开头的数据默认为要处理的无字符 if(markStar==0){ String temp = sb1.substring(markStar,8); car = car+Change(temp); sb1=sb1.substring(8); }else if(markStar==-1&sb1;.length()>0){ ...
然后就各方参考,整理出了这一份代码,直接用,直接转码,直接可以将项目中的java文件一键转码,很方便。里面有个test看了就知道怎么操作了。会自动获取文件的编码格式,只需要输入文件路径,需要转码的格式,以及...