两个URL编码字符串之间的Java差异

两个URL编码字符串之间的Java差异,java,string,encoding,java-me,utf-8,Java,String,Encoding,Java Me,Utf 8,以下两个编码字符串之间的区别是什么 %D0%9E%D0%BA%D0%B6%D1%8D%D0%B7 及 我试图用URL将俄语文本“ПППцццц”编码到上面的第二个编码字符串中(该编码正确),但我使用的URL编码器一直给我上面的第一个编码字符串。我使用的是来自W3联盟的。我必须使用这个,因为我正在一个需要J2ME的移动平台上工作 谢谢 您的字符串“ППццццц”编码为: %D0%9E %D0%BA %D0%B6 %D1%8D %D0%B7 第二个字符串似乎在url编码之前转换为HTM

以下两个编码字符串之间的区别是什么

%D0%9E%D0%BA%D0%B6%D1%8D%D0%B7

我试图用URL将俄语文本“ПППцццц”编码到上面的第二个编码字符串中(该编码正确),但我使用的URL编码器一直给我上面的第一个编码字符串。我使用的是来自W3联盟的。我必须使用这个,因为我正在一个需要J2ME的移动平台上工作

谢谢

您的字符串“ППццццц”编码为:

%D0%9E    
%D0%BA
%D0%B6
%D1%8D
%D0%B7
第二个字符串似乎在url编码之前转换为HTML实体:

%26%231055%3B
%26%231088%3B
%26%231080%3B
%26%231074%3B
%26%231077%3B
%26%231090%3B
%26
&
%23
#
%3B

П
р
и
в
е
т

w3schools的URL编码器做得完全错误。
%D0%9E%D0%BA%D0%B6%D1%8D%D0%B7
完全有效。这也是我做的时候得到的

String encoded = URLEncoder.encode("Привет", "UTF-8");
当我把W3学校的答案解码如下

String decoded = URLDecoder.decode("%26%231055%3B%26%231088%3B%26%231080%3B%26%231074%3B%26%231077%3B%26%231090%3B", "UTF-8");
然后我得到
Привет这些字符正是俄文字符,但随后转换为第一个


顺便说一句,W3学校的网站与W3联盟没有任何关系。另请参阅。

感谢您提供W3傻瓜的链接!
String decoded = URLDecoder.decode("%26%231055%3B%26%231088%3B%26%231080%3B%26%231074%3B%26%231077%3B%26%231090%3B", "UTF-8");