背景介绍:
1)encodeURIComponent和decodeURIComponent在前端使用
2)URLEncoderencode和URLDecoderdecode在后台使用
知识点:
1)encodeURIComponent和URLEncoderencode的区别在于前者对下面五个符号不编码
! %21
' %27
( %28
) %29
~ %7E
2)decodeURIComponent和URLDecoderdecode暂时还看不出有何区别
解释:
前后台交互传输数据的过程中,如果含有!'()~,同样的内容会传输不同的编码结果,但是对方都能解码。在具体应用时,如果有比较前后台编码的逻辑,最好测一下这几个符号。如果编程环境已解决此问题最好,否则就要考虑一下修补之事了。
requestsetCharacterEncoding("UTF-8");
是设置页面编码为utf8
javanetEncoderencode("xxx","UTF-8");
这个是把字符用url编码的
建议统一编码。
charset和pageencoding,还有html里面content-type都需要设置统一。
import sunmiscBASE64Encoder; import sunmiscBASE64Decoder; // 将 s 进行 BASE64 编码 public static String getBASE64(String s) { if (s == null) return null; return (new sunmiscBASE64Encoder())encode( sgetBytes() ); }敞饥搬渴植韭邦血鲍摩 // 将 BASE64 编码的字符串 s 进行解码 public static String getFromBASE64(String s) { if (s == null) return null; BASE64Decoder decoder = new BASE64Decoder(); try { byte[] b = decoderdecodeBuffer(s); return new String(b); } catch (Exception e) { return null; } }
以上就是关于Java中URLEncoder.encode和encodeURIComponent的区别全部的内容,包括:Java中URLEncoder.encode和encodeURIComponent的区别、java.net.Encoder.encode("xxx","UTF-8");、Java Base64 直接获取文件后缀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)