小编Sud*_*r R的帖子

Java中的HTTP URL地址编码

我的Java独立应用程序从用户获取一个URL(指向一个文件),我需要点击它并下载它.我面临的问题是我无法正确编码HTTP URL地址......

例:

URL:  http://search.barnesandnoble.com/booksearch/first book.pdf

java.net.URLEncoder.encode(url.toString(), "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)

回报我:

http%3A%2F%2Fsearch.barnesandnoble.com%2Fbooksearch%2Ffirst+book.pdf
Run Code Online (Sandbox Code Playgroud)

但是,我想要的是

http://search.barnesandnoble.com/booksearch/first%20book.pdf
Run Code Online (Sandbox Code Playgroud)

(空间由%20取代)

我猜URLEncoder不是为了编码HTTP URL而设计的... JavaDoc说"用于HTML表单编码的实用程序类"......有没有其他方法可以做到这一点?

java http urlencode

356
推荐指数
14
解决办法
35万
查看次数

意外的Javascript RegExp行为

我创建一个RegExp对象(在JavaScript中)来测试数字的存在:

var test = new RegExp( '[0-9]', 'g' );
Run Code Online (Sandbox Code Playgroud)

我这样用它

console.log( test.test( '0' ) ); // true
console.log( test.test( '1' ) ); // false - why?
Run Code Online (Sandbox Code Playgroud)

这个输出更令人困惑:

console.log( test.test( '1' ) ); // true
console.log( test.test( '0' ) ); // false - why?
console.log( test.test( '1' ) ); // true
console.log( test.test( '2' ) ); // false - why?
console.log( test.test( '2' ) ); // true - correct, but why is this one true?
Run Code Online (Sandbox Code Playgroud)

如果我删除g限定符,它的行为与预期一致.

这是一个我认为是错误的错误,还是规范的一些特殊部分?是否g应该以这种方式使用限定符?(我正在为多个任务重复使用相同的表达式,因此根本没有限定符)

javascript regex google-chrome

9
推荐指数
2
解决办法
687
查看次数

标签 统计

google-chrome ×1

http ×1

java ×1

javascript ×1

regex ×1

urlencode ×1