遇到java里的URLEncoder.encode方法编码后与javascript的encodeURIComponent方法的结果有点不一样,找了一下资料,原来URLEncoder实现的是HTML形式的规范,jdk文档里这么说:

Utility class for HTML form encoding. This class contains static methods for converting a String to the application/x-www-form-urlencoded MIME format.

看到aliyun-oss-sdk的HttpUtil里是这么做的:

    /*** Encode a URL segment with special chars replaced.*/public static String urlEncode(String value, String encoding) {if (value == null) {return "";}try {String encoded = URLEncoder.encode(value, encoding);return encoded.replace("+", "%20").replace("*", "%2A").replace("~", "%7E").replace("/", "%2F");} catch (UnsupportedEncodingException e) {throw new IllegalArgumentException(OSS_RESOURCE_MANAGER.getString("FailedToEncodeUri"), e);}}

参考:
URLEncoder not able to translate space character

转载于:https://www.cnblogs.com/liqipeng/p/7997795.html

URLEncoder.encode问题相关推荐

  1. URLEncoder.encode转译后“空格”变“加号”的问题的解决方案

    URLEncoder.encode转译后"空格"变"加号"的问题的解决方案 参考文章: (1)URLEncoder.encode转译后"空格" ...

  2. 关于java.net.URLEncoder.encode编码问题

    Q:java.net.URLEncoder.encode里的编码和什么有关的? A:使用urlencoder编码会将中文变成你在浏览器地址栏看到的%XX形式,至于选择哪种enc编码跟你jvm的defa ...

  3. java encode 空格_javaWeb中URLEncoder.encode空格问题

    近期开发一个在线坐席的功能.发现推送的消息中空格变成了+ .查询发现URLEncoder.encode的问题.曾经用的时候也没注意过,解决的方法网上是对URLEncoder.encode的之后的字符串 ...

  4. java的URLEncoder.encode() 疑问与解惑

    疑问 空格变成了+? -*.不能转换url编码? 解惑 URL 编码通常使用加号(+)或 %20 替代空格. 如果要转换为%20,可以先进行转换编码,再替换 + 为 %20 **注意:**在JavaS ...

  5. URLEncoder.encode的默认编码问题

    今天要实现的一个功能是在页面上上传文件到后台,文件是txt格式,每行是一个url,后台读取后,对路径中的中文进行url编码 如下是我的代码: Pattern chinesePattern = Patt ...

  6. 中文乱码在java中URLEncoder.encode方法要调用两次解决

    2019独角兽企业重金招聘Python工程师标准>>> 因为在jsp中对中文进行了编码的时候用的是UTF-8的编码方式,而在servlet中调用request.getParamete ...

  7. URLDecoder.decode与URLEncoder.encode

    URLEncoder.encode: 这是编码: 如: 1.要把文本框中中的内容存到cookie里面,由于cookie是ASCLL编码方式,所以要把文本框中的内容编码到ascll,便于存到cookie ...

  8. URLEncoder.encode(String url)和URLDecoder.decode(String url)

    1.http get请求本身是不支持中文的,例如下面的代码: form表单以Get方式提交 <form action="/jsp/deal.jsp" method=" ...

  9. URLEncoder.encode(str,编码) new URLDecoder().decode(str,编码)

    try   {                                 String enUft = URLEncoder.encode("广东省福利彩票开奖信息网", & ...

最新文章

  1. c++引用的自我见解
  2. “变态级”系统管理员笔试题,你能拿下吗?
  3. leetcode算法题--仅仅反转字母
  4. HDOJ 1082 模拟 水
  5. 315. Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
  6. .net core word转pdf_免费在线转换PDF转Word、Word转PDF,办公必备神器
  7. C++: 06---构造函数析构函数
  8. OpenTelemetry-可观察性的新时代
  9. win7建立服务器文件夹权限,win7 ftp服务器 文件夹权限
  10. Microsoft office word2003出现发送错误报告怎么办
  11. 小爬需登录的网站之麦子学院
  12. python画正切函数图像_python的pygal模块绘制反正切函数图像方法
  13. Multisim小信号调谐放大器电路仿真
  14. iPhone 如何将图片转换为文字
  15. listview嵌套edittext,决解数据无法保存
  16. 基于python的简易安卓小外挂制作
  17. 做市商策略(Market Making Strategy)
  18. python特效源代码_人工智能python代码实现魔幻换天视频特效
  19. 计算机打字总是会返回到桌面,电脑打字的时候经常回到桌面是什么原因?
  20. linux UVC摄像头驱动 简介

热门文章

  1. 关于angularjs input上传图片前获取图片的Size 浅析
  2. HTML中放置CSS的三种方式和CSS选择器
  3. 初见 IsolatedStorage
  4. MailMail升级到1.0.2.4
  5. C++没有调用析构函数
  6. 3月15日云栖精选夜读:双管齐下,MaxCompute数据上云与生态
  7. html字符串生成器源代码
  8. Oracle 制造死锁和查询死锁
  9. 详解SMS下OSD2008
  10. 微软TechEd 2006亲历(六):微软新一代系统管理平台面纱待揭