使用情景
当一个经过base64压缩过之后的字符串,通过POST请求传值给后端,后端经过base64解压之后是空格。造成这样的原因是经过base64压缩之后,字符串会出现“+”和“/”字符,经过post请求,会转化成空格。
解决方案:
更换压缩写法:
String text = "你好";
String base64encodedString = Base64.getUrlEncoder().encodeToString(text.getBytes("utf-8"));
System.out.println("编码"+base64encodedString);
byte[] base64decodedBytes = Base64.getUrlDecoder().decode(base64encodedString);
System.out.println("解码"+new String(base64decodedBytes, "utf-8"));
博客讨论了在使用Base64编码字符串并通过POST请求传递时遇到的问题,即‘+’和‘/’字符被转化为空格导致解码失败。为解决这个问题,提出了使用Base64.getUrlEncoder()和Base64.getUrlDecoder()进行编码和解码的方法,这种方法能避免字符转换问题,确保数据正确传输。

2081

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



