Java 相当于 Ruby 的 URI.escape?

发布于 2024-11-02 13:53:27 字数 719 浏览 2 评论 0 原文

今天我不得不转义 URL (http://rfc3986.openrfc.org/ - 例如,替换 'space ' 字符与 %20) 令人惊讶的是,我在 Java 中找不到任何 API 可以将未转义的 URL 作为 1 个参数并返回转义的 URL。

我知道 URI 类能够执行转义操作,但是需要使用多参数构造函数(http://download.oracle.com/javase/1.4.2/docs/api/java/net/URI.html# URI(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)),简单地使用单参数构造函数不执行转义,但抛出异常。

幸运的是,我已经嵌入了 JRuby 库,所以我能够使用 URI.escape 方法 http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/classes/URI/Escape.html 但是我真的很惊讶没有简单的方法在Java中也能达到同样的效果。

我是否缺少一些 API?

Today I had to escape URL (http://rfc3986.openrfc.org/ - for instance, replace 'space' character with %20) and surprisingly I couldn't find any API in Java which would take unescaped URL as 1 parameter and return escaped URL.

I am aware of URI class which is capable of performing escaping operation, however it's required to use multiargument contructor (http://download.oracle.com/javase/1.4.2/docs/api/java/net/URI.html#URI(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)), using single-argument contructor simply doesn't perform escaping but throws an exception.

Luckily, I was already emedding JRuby library so I was able to use URI.escape method http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/classes/URI/Escape.html however I'm really surprised there is no easy way to achieve same effect in Java.

Am I missing some API?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文