Java中URLEncoder.encode和encodeURIComponent的区别

Java中URLEncoder.encode和encodeURIComponent的区别,第1张

背景介绍:

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 直接获取文件后缀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9400336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存