脚本宝典收集整理的这篇文章主要介绍了Base64编码的中文编码问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Base64编码和解码在处理英文的时候没有问题,处理中文的时候暗藏陷阱!原因是Base64在处理字符串的时候使用平台的缺省编码方式。
Base64 b64 = new Base64();String s = new String(b64.encode(content));
如果content是中文,那么new String(b64.encode(content))可能使用UTF-8或者GB2312,而这两种编码方式生成的base64编码是不同的。这样,若果A平台的编码方式是UTF-8,B平台是GB2312,那么在A上用Base64编码的的字符串在B平台上解码就是乱码。为了避免中文乱码的问题,可以强制在编码的时候使用UTF-8
String s= new String(b64.encode(content.getBytes("UTF-8")), "UTF-8"));
这样可以强制Base64编码的时候使用UTF-8
转载:https://blog.csdn.net/iteye_7726/article/details/82309584
以上是脚本宝典为你收集整理的Base64编码的中文编码问题全部内容,希望文章能够帮你解决Base64编码的中文编码问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。