问题描述

调用三方接口进行SM4解密后的结果是一串byte数组,将这个数组当作new String()参数的时候传入,结果是中文乱码。

"address":"娴嬭瘯","onneFilServChnl":"app,APP,寰俊灏忕▼搴?","areaName":"鍖椾含甯?"

解决方案

new String的时候,将文字编码设置为utf-8

String s = new String(byte数组,"UTF-8");

结果为:

"address":"测试","onneFilServChnl":"app,APP,微信小程序"