URL在java中对名称进行编码

URL在java中对名称进行编码,java,urlencode,Java,Urlencode,我想用java对一个名称进行URL编码,包括双引号,但它忽略了名称中的双引号 e、 g 它正在印刷 abc 但是我希望url是 %22abc%22 我在网上搜索,但什么也没找到 在这种情况下,您应编写String name=“\“abc\”这是因为您的“姓名”不包含双引号。你想要的是: String name = "\"abc\""; 现在,您的名称包含双引号:“abc”双引号不是名称字符串的一部分。如果你想这样做,就使用 String name = "\"abc\""; 如果不希望n

我想用java对一个名称进行URL编码,包括双引号,但它忽略了名称中的双引号

e、 g

它正在印刷

abc 
但是我希望url是

%22abc%22

我在网上搜索,但什么也没找到

在这种情况下,您应编写
String name=“\“abc\”

这是因为您的“姓名”不包含双引号。你想要的是:

String name = "\"abc\"";

现在,您的名称包含双引号:“abc”

双引号不是
名称
字符串的一部分。如果你想这样做,就使用

String name = "\"abc\"";
如果不希望
name
变量包含引号,但希望将引号添加到URL编码中,请使用

String url = URLEncode("\"" + name+ "\"","UTF-8");

%22
在URL编码中引用了双引号(
)。因此,您需要将其添加到URL字符串中。为了在Java字符串中添加双引号,您需要通过反斜杠(
\
)对其进行转义


要将编码的URL预期为
%22abc%22

,问题本身与URL编码无关。它应该更像是“如何在字符串中放置双引号”。java语言规范(3.10.6)解释了如何转义(使用反斜杠).因此,标题是错误的,
urlencode
标记不应该在那里。这些基本问题并不有趣,这可能就是为什么它两次被否决的原因。@herman无论如何感谢您给出了正确的答案。
String url = URLEncode("\"" + name+ "\"","UTF-8");
String name = "\"abc\"";