解决方案 »
- 能帮我解决下这个bug吗
- jsp中同时设置page的contentType和pageEncoding会怎样?
- JAVA菜鸟求助关于网站框架的问题!
- 急救!测试自己写的代码时出现下列报错
- 我又来送分了!!! 搞不懂 equal symbol expected 这个错误的原因.
- 跪求大神帮忙,最近在整合SSH 三大框架,启动tomcat 时就报错了,郁闷了好几天,希望大神能帮帮我解决下,不胜感激
- 一个小小问题,怎么会出现一个空指针,进来帮我解决一下,非常感谢!在线等
- 关于tomcat里测试自己的webapp的servlet的访问URL路径的问题
- jboss中如何配置连接两个数据库?
- Hibernate效率
- 求基于ssh开发的社区管理系统
- mvc 、ssh、j2ee三层架构
既不是utf-8,也不是gbk
%259d%2571%2566 中
%259e%2554%2576 国
%25a0%2560%2574 移
%259e%2543%2561 动
System.out.println(res1);
String res2 = URLEncoder.encode(res1,"UTF-8");
System.out.println(res2);结果:
%E4%B8%AD
%25E4%25B8%25AD看格式像是经过 2 次编码的
要把他转换为中文,现在问题是不知道是什么编码。直接在浏览器打开是现实搜索:中国移动。
经过url编码,也跟你说的不一样啊
你直接在浏览器打开http://m5.baidu.com/from=1089a/s?word=%259d%2571%2566%259e%2554%2576%25a0%2560%2574%259e%2543%2561&st=11104i&ts=4691535&sa=ih_2&ss=01&ix=404%25
会看到是搜索 中国移动的
他服务器utf-8 gbk
估计传过去 解码之后自己再有一套自己规则解码才会 去检索
www.baidu.com 地址 61.135.169.105
当然百度的服务器有很多,你查看的地址有可能就和我的不一样了,
我想说 m5 这个域名,是百度用来测试用的?
String str1 = new String(str.getBytes("gbk"), "utf-8");
System.out.println(str1);
输出结果:
http://www.baidu.com/#wd=中国移动&rsv_spt=1&rsv_bp=1&ie=utf-8&tn=baiduhome_pg&f=8&bs=中???&rsv_n=2&rsv_sug3=1&rsv_sug2=0&inputT=1019
public static void main(String[] args) throws Exception {
String url_0 = "%259d%2571%2566%259e%2554%2576%25a0%2560%2574%259e%2543%2561";
//1 去掉 25
String url_1 = "%9d%71%66%9e%54%76%a0%60%74%9e%43%61";
String[] url_2 = url_1.split("%");
StringBuilder url_3 = new StringBuilder();
for(int i=1;i<url_2.length;i++){
String str = url_2[i];
String res = Integer.valueOf(str,16).toString();
int intRes = Integer.parseInt(res);
intRes = intRes+256;
intRes = intRes-201;
String str_16 = Integer.toHexString(intRes+16);注意这里 比 网上的 多加 了一个 16
url_3.append("%"+str_16);
}
System.out.println(url_3.toString());
String strRes = URLDecoder.decode(url_3.toString(),"UTF-8");
System.out.println(strRes);
}结果 :
%e4%b8%ad%e5%9b%bd%e7%a7%bb%e5%8a%a8
中国移动简单实现了一下,原理大概就是这样,按照帖子,+256 然后 -201 最后转 得出的结果刚好少了一个 16。加上之后能正确解析了。
确实是这样的,开始的时候我考虑到"%9d%71%66%9e%54%76%a0%60%74%9e%43%61";
然后地下就是解析不出来。你怎么知道中间几次转换的。
确实是这样的,开始的时候我考虑到"%9d%71%66%9e%54%76%a0%60%74%9e%43%61";
然后地下就是解析不出来。你怎么知道中间几次转换的。
我也是 网上查的 http://www.zhihu.com/topic/19599871/newest
确实是这样的,开始的时候我考虑到"%9d%71%66%9e%54%76%a0%60%74%9e%43%61";
然后地下就是解析不出来。你怎么知道中间几次转换的。
我也是 网上查的 http://www.zhihu.com/topic/19599871/newest