2024年5月31日发(作者:)

接口数据传输时经常把字符串转成byte[] , 经过Base64编码处理。 这里遇到

一个问题, 转换后中文乱码。(开发环境正常,生产环境乱码)

1. String localChartSet = perty("ng");

2. n("localChartSet>>>>"+localChartSet); //查看本地默认

字符集

3. String str ="aaaa中文的";

4. byte[] gbkbt = es("GB2312");

5. byte[] utfbt = es("utf-8");

6. byte[] bt = es();

7. String gbkstr= new String(gbkbt, "GB2312"); //string 与byte[] 转换

时字符集要保持一致

8. String utfstr= new String(utfbt, "utf-8");

9. str= new String(bt);

10.

11. n("gbkstr>>>>"+gbkstr);

12. n("utfstr>>>>"+utfstr);

13. n("str>>>>"+str);

14.

15. gbkstr= new String(gbkbt, "utf-8"); //转换时字符集要

保持一致 否则中文会出乱码

16. utfstr= new String(utfbt, "GB2312");

17. str= new String(bt, "GB2312");

18. n("gbkstr>>>>"+gbkstr);

19. n("utfstr>>>>"+utfstr);

20. n("str>>>>"+str);

21.

new String(gbkbt, "GB2312"); //为了防止乱

码, 尽量采用这种方式