背景:将IOS生成的base64串封装在JSON里提交到Java后台,发现JSON解析始终报错。
究其原因,发现IOS提交上来的base64字符串里面含有大量的\r\n。
这些回车换行符是base64算法放进去的。
原因:
利用base64算法将图片变成base64字符串后,将此字符串打印出来后,发现这个大字符串分多条小字符串打印,说明每行末尾有回车换行符。
进一步解析的话,利用debug语句,将会清晰的看到\r\n字符。
到这一步,我们的解决方案已经非常清晰。
解决方法:
将base64生成的字符串里面的\r\n替换成""即可。
s = s.replaceAll("\r\n", "");
OK,大功告成。
refurl:http://stackoverflow.com/questions/3056834/replace-n-and-r-n-with-br-in-java
http://blog.youkuaiyun.com/y13530828499/article/details/6718206
http://zhidao.baidu.com/question/547808753.html
http://www.tuicool.com/articles/6Z7B32u 也是base64引起的麻烦。
3万+

被折叠的 条评论
为什么被折叠?



