生产环境中发现base64解码错误
下面定位问题:
系统流程:前端压缩后产生byte[], 用base64编码发送到后端,后端解码后解压缩。发现后端base64解码错误。
定位问题:打开debug日志,比较前端编码后的内容和后端接受到的内容,发现编码后的+号变成了空格。
字符经如果被urlencode后标准的base64中的/、 +会被转成%xx
解决方案:1.把空格替换成+号再解码,2.用非标准的base64编解码,它们将“+/”改为“_-”或“!_”等。
生产环境中发现base64解码错误
下面定位问题:
系统流程:前端压缩后产生byte[], 用base64编码发送到后端,后端解码后解压缩。发现后端base64解码错误。
定位问题:打开debug日志,比较前端编码后的内容和后端接受到的内容,发现编码后的+号变成了空格。
字符经如果被urlencode后标准的base64中的/、 +会被转成%xx
解决方案:1.把空格替换成+号再解码,2.用非标准的base64编解码,它们将“+/”改为“_-”或“!_”等。
转载于:https://my.oschina.net/chengxiaoyuan/blog/610777