首页 新闻 会员 周边 捐助

微信公众号退款通知结果接口

0
悬赏园豆:10 [已关闭问题] 关闭于 2017-09-28 15:38

 开发微信公众号时用到退款通知结果接口,按照文档写解密,最后得到返回结果是xml文件,其中有“退款入账账户 ”这个参数,信息是中文的,我的xml中显示乱码。当退款地址是钱包时,不报错;退款地址是银行时报编码错误。这两种方式 xml一直是乱码。尝试了但是没有解决,所以请做过的前辈请教。

wangzySKy的主页 wangzySKy | 菜鸟二级 | 园豆:287
提问于:2017-09-25 19:20
< >
分享
所有回答(2)
0

微信编码使用的是 ISO-8859-1  把编码从 ISO-8859-1 转为UTF-8

Tom.汤 | 园豆:3060 (老鸟四级) | 2017-09-26 11:01

InputStream inStream;
inStream = request.getInputStream();
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}

outSteam.close();
inStream.close();
String result = new String(outSteam.toByteArray(), "utf-8");

微信返回的消息是流,解析后转化为map

Map<Object, Object> m = XmlUtil.xml2map(result, false);

然后获取加密信息

String a = m.get("req_info").toString();

对a进行操作

支持(0) 反对(0) wangzySKy | 园豆:287 (菜鸟二级) | 2017-09-26 15:55

解密后得到的数据乱码。是对A转码吗?还是在base64解码时规定编码格式?

支持(0) 反对(0) wangzySKy | 园豆:287 (菜鸟二级) | 2017-09-26 16:00
0

用key*对加密串B做AES-256-ECB解密时编码错误

wangzySKy | 园豆:287 (菜鸟二级) | 2017-09-28 15:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册