当下有个项目需要用到Base64编码解码工具,奈何后端decode时前端传入已经encode的base64字符串在后端decode后中文乱码! 层层步进追踪到底层代码发现自动给转为utf-16了,这里解决办法就是:
直接转为GBK转为UTF-8后调试发现中文已经可以正常decode;
roomname=new String(roomname.getBytes("GBK"),"UTF-8");
以上为解码时转换编码方式,编码与以上基本类似.
避坑: Base64对" "(空格)支持不友好,请使用String的replace(,);方法替换掉空格.