码迷,mamicode.com
首页 > 编程语言 > 详细

java乱码和转码问题

时间:2014-09-24 20:18:17      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:java   java乱码问题   java转码问题   

在一个项目中,碰到一个有意思的问题,在调用某个第三方接口后回调本地代码,对加密过的请求参数进行解密并转码,其中一种解码方式无效,另一种解码方式有效,何解?:


1、调用第三方接口时加密一个字符串:

String str = “akdfjlksjfdljsdlfslfld”;

(new BASE64Encoder()).encodeBuffer(str.getBytes());


2、同步回调本地代码时解密并转码该字符串,使用下面的转码方案没有问题;而异步回调本地代码时解密并转码该字符串,使用下面的转码方案有问题:

String merPriv = request("MerPriv");

String newmerPriv = new String((new BASE64Decoder()).decodeBuffer(merPriv));

newmerPriv = URLDecoder.decode(newmerPriv,"UTF-8").trim();


3、异步回调本地代码时解密并转码该字符串,使用下面的转码方案没有问题:

String merPriv = request("MerPriv");

String newmerPriv = new String((new BASE64Decoder()).decodeBuffer(merPriv));

newmerPriv = new String(newmerPriv.getBytes("ISO-8859-1"),"UTF-8");


java乱码和转码问题

标签:java   java乱码问题   java转码问题   

原文地址:http://blog.csdn.net/combating/article/details/39525235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!