最近在代码中遇见%2B 不清楚什么意思,这里记录一下:
/**
* BASE64编码
* 可能会有不支持的编码异常
* 默认getBytes()得到的是ASCII编码
*/
public static String encryptBASE64(String key,String coding) throws UnsupportedEncodingException {
byte[] bt = key.getBytes(coding);
//处理+问题,防止浏览器忽略掉,HTML的+号%2B
return encoder.encodeToString(bt).replaceAll("\\+","%2B");
}
解释:
html中是+号的意思,通过 GET方式传值的时候,+号会被浏览器处理为空。