base64编码之后可能会含有“+”等特殊字符,通过URL传值时,一些特殊字符会在传输过程中发生改变
“/” 在客户端变为 "2F"
"+" ..........." "
"=" ..........."%3D"
"+" ..........." "
"=" ..........."%3D"
并且每76个字符都会添加一个换行“\n”,传输过程中换行符并没有丢失。
所以需要转义这些特殊字符以便传值。base64编码中将“+”和“=”进行url转义,去除base64编码中的“\n”换行符
String str = base64String.replace("+", "%2B").replace("=", "%3D").replaceAll("[\\s*\t\n\r]", "");