\xC6\xE4\xCB 乱码,有师兄能解吗?急急!!!不胜感激!!

Drop1 2013-04-10 11:03:23
在java中,分出了这样的字符串变量的值:

http://www.wangjiu.com/product/shoppingmall-product_type-1-country-\xC6\xE4\xCB\xFB\xB9\xFA\xBC\xD2-categoryname-\xB8\xC9\xB0\xD7\xC6\xCF\xCC\xD1\xBE\xC6-variety-\xC6\xE4\xCB\xFB\xBA\xEC\xC6\xB7\xD6\xD6\xBB\xEC\xBA\xCF-brand-\xCA\xC0\xBD\xE7\xC3\xFB\xC5\xC6.html

有师兄能帮解吗?

有这样大量的数据,求师兄给出在java中解开这样数据的代码。不胜感激!!!!!!
...全文
515 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
外面在下雷 2013-04-12
  • 打赏
  • 举报
回复
乱码问题是你写进去和读出来的方式不一样产生的,用 System.getProperty("file.encoding"),就可以匹配你当前项目的编码集。 byte[] bytes = baos.toByteArray(); String decoded = new String(bytes, System.getProperty("file.encoding"));
shine333 2013-04-12
  • 打赏
  • 举报
回复
从我代码里面也可以看出,这个没什么特殊的,就是十六进制HEX(Decimal) 日志之所以这样打印,是因为碰到了非可打印字符(可以简单理解为键盘上看得见摸得着的字符以外的不分),就将其字节打印为若干\xFF的格式,每组代表一个字节,字节的内容,就是后面两个十六进制的数字代表的字节。 你这个url(不知道你页面编码格式是否就是设计成如此)传递的汉字,按照GB2312/GBK/...编码,每个汉字两字节。
快乐随风 2013-04-11
  • 打赏
  • 举报
回复
楼上正解 。。。
Drop1 2013-04-11
  • 打赏
  • 举报
回复
师兄,非常感激! 问题1:请问这到底是什么编码??? 问题2:请问都什么情况下能产生这样的编码?这个请求是发向nginx、然后由nginx收集下来的日志,请问nginx哪里是否能够通过设置修改这个输出的日志,而实现直接就能成为正确、正常编码的数据? 问题3:完整的学习、以便能够达到遇到编码问题都能心中非常清楚、明白,关于编码的书籍,师兄们能推荐一下吗? 感激师兄!!!
  • 打赏
  • 举报
回复
base64编码。 利用BASE64Decoder解码
shine333 2013-04-11
  • 打赏
  • 举报
回复
String str = "\\xB8\\xC9\\xB0\\xD7\\xC6\\xCF\\xCC\\xD1\\xBE\\xC6";
    Pattern pattern = Pattern.compile("(?i)\\\\x([0-9a-f]{2})");
    Matcher matcher = pattern.matcher(str);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    while (matcher.find()) {
      baos.write(Integer.parseInt(matcher.group(1), 16));
    }
    byte[] bytes = baos.toByteArray();
    String decoded = new String(bytes, "GB2312");
    System.out.println(decoded);
干白葡萄酒
Drop1 2013-04-11
  • 打赏
  • 举报
回复
师兄,我用了这个代码,还是不行啊: ================================= String base64 = "http://www.wangjiu.com/product/shoppingmall-product_type-1-country-\\xC6\\xE4\\xCB\\xFB\\xB9\\xFA\\xBC\\xD2-categoryname-\\xB8\\xC9\\xB0\\xD7\\xC6\\xCF\\xCC\\xD1\\xBE\\xC6-variety-\\xC6\\xE4\\xCB\\xFB\\xBA\\xEC\\xC6\\xB7\\xD6\\xD6\\xBB\\xEC\\xBA\\xCF-brand-\\xCA\\xC0\\xBD\\xE7\\xC3\\xFB\\xC5\\xC6.html"; BASE64Decoder decode = new BASE64Decoder(); byte [] b = decode.decodeBuffer(base64); System.out.println( new String(b));

67,543

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧