草庐IT

UrlEncoder

全部标签

java - 在静态方法中模拟 UrlEncoder

我在模拟静态方法中的UrlEncode.encode方法时遇到问题。MyEncodeClass.java有这个方法publicstaticmyEncode(Strings){UrlEncoder.encode(s,"utf-8");}我想在调用UrlEncode.encode方法时强制抛出异常。@Test(expect=UnsupportedEncodingException.class)publicvoidmyTest(){PowerMockito.mockStatic(URLEncoder.class);when(URLEncoder.encode("aa","utf-8")).t

java - 是否有一个通用的 Java 库可以处理一组字符串的 URL 编码/解码?

我经常需要对大型集合或字符串数​​组进行url编码或解码。除了遍历它们并使用静态URLDecoder.decode(string,"UTF-8")之外,是否有任何库可以提高此类操作的性能?一位同事坚持认为使用静态方法就地解码字符串不是线程安全的。为什么会这样? 最佳答案 JDKURLDecoder的实现效率不高。最值得注意的是,它在内部依赖于StringBuffer(在URLDecoder的情况下不必要地引入了同步)。Apachecommons提供URLCodec,但据报道它在性能方面也存在类似问题,但我尚未证实在最新版本中情况仍然

java - 为什么没有 URLEncoder.encode(String, Charset), URLDecoder.decode(String, Charset)

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我不确定SOF是否是问这个问题的最佳地点,但关于javaURLEncoder的一些事情和URLDecoder.对于URLEncoder,它有encode(String,String)方法,其中第二个参数是要使用的编码名称。如果编码无效,则抛出UnsupportedEncodingException。它是一个已检查的异常,因此在调用encode()时必须使用try-catch语句。这在使用字

java - 黑莓 URL 编码器

我需要在Blackberry中使用HTTPGET请求对URL进行编码。任何人都可以帮助我找到如何实现这一点。 最佳答案 你为什么不使用RIM的URLEncodedPostData?privateStringencodeUrl(StringhsURL){URLEncodedPostDataurlEncoder=newURLEncodedPostData("UTF-8",false);urlEncoder.setData(hsURL);hsURL=urlEncoder.toString();returnhsURL;}

解决JDK URLEncoder.encode 编码空格变 + 号

JDKURLEncoder.encode/***使用JDK提供的URLEncoder工具类进行编码*/@TestpublicvoidtestJdkEncode()throwsUnsupportedEncodingException{ Stringval="111222+333"; //编码 Stringencode=URLEncoder.encode(val,"utf-8"); System.out.println("encode:"+encode); Stringrst=encode.replaceAll("\\+","%20"); System.out.println("rst:"+rst

android - 从 EditText 中转义字符串

我只是想知道,如果我有一个要将其内容转换为字符串的EditText,比如说StringqueryStr=newString(searchText.getText().toString());我将如何从这个字符串中转义特殊字符,以便我可以将它放入HttpGet方法中?谢谢! 最佳答案 使用java.net.URLEncoder:java.net.URLEncoder.encode(queryStr,"UTF-8"); 关于android-从EditText中转义字符串,我们在StackOv

http接口url 斜杠问题(“/”)(在 HTTP URL 中,斜杠(`/`)被视为分隔符,用于分隔 URL 的各个部分,斜杠会被编码成%2F)java URLEncoder.encode()

我用java调用http接口给linux设置一个目录的路径,我得参数是通过httpurl传过去的,但是我发现,如果我的路径中包含一个/,去查询的时候,它就会变成两个/,即//;如果包含两个/,即//查询的时候就会返回四个/,即是什么原因?这是因为在HTTPURL中,斜杠(/)被视为分隔符,用于分隔URL的各个部分。在URL中,每个斜杠字符都表示一个新的路径段。当您将包含单个斜杠字符的路径作为URL参数传递时,它会被视为新的路径段,并且由于URL编码的原因,每个斜杠字符都会被编码为%2F,因此单个斜杠字符会被编码为%2F%2F。当您在多个路径段中传递多个斜杠字符时,它们也会被编码为多个%2F,从

解决前后端传送文件名,出现乱码问题,URLEncoder

出现???.doc,无法完成下载,后端的文件名在传输过程中,编码出现了问题。解决,采用后端java在响应头中的里设置文件名称(URLEncoder.encode),前端vue,varfileName=decodeURIComponent(fileNameUtf8),进行解码。response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(fileName,"UTF-8"));@GetMapping("/download/{id}")publicvoiddownload(@PathVariable

java - 在 URL 和 Windows 文件名(Java)之间转换?

在Java中,是否有一种标准/好的方法可以在url和windows文件名之间进行转换?我正在尝试下载文件,但我希望Windows文件名可以转换回原始文件名。请注意,url的查询部分至关重要,因为我将下载仅查询不同的不同页面。我目前的hacky解决方案是用特定字符串(例如“QQ”)替换非法字符(例如“?”),但这会使转换回url的过程变得不那么透明。有没有更好的办法? 最佳答案 你可以做得比使用URLEncoder更糟对URL进行编码:Stringurl="http://172.0.0.1:80/foo/bar/baz.txt?bla

java - 如何使用带有 UTF-8 的 URLEncoder

文档说我应该将UTF-8与URLEncoder一起使用.我试过UTF-8。我收到“无法解析符号”错误URLEncoder.encode(str,"UTF_8");我也试过了,但是API级别比我想要的高(级别19)。StringUTF_8=java.nio.charset.StandardCharsets.UTF_8.toString();将此方法用于UTF-8的正确且简单的方法是什么? 最佳答案 正确的方法是拼写正确。尝试URLEncoder.encode(str,"UTF-8");不要使用下划线。
12