base64编码后传输后+号变成空格

生产环境中发现base64解码错误前端

下面定位问题:后端

系统流程:前端压缩后产生byte[], 用base64编码发送到后端,后端解码后解压缩。发现后端base64解码错误。编码

定位问题:打开debug日志,比较前端编码后的内容和后端接受到的内容,发现编码后的+号变成了空格。url

字符经若是被urlencode后标准的base64中的/、 +会被转成%xx
debug

解决方案:1.把空格替换成+号再解码,2.用非标准的base64编解码,它们将“+/”改成“_-”或“!_”等。日志

相关文章
相关标签/搜索