lit*_*leK 3 java string encoding utf-8 java-me
以下两个编码字符串有什么区别?
%D0%9E%D0%BA%D0%B6%D1%8D%D0%B7
Run Code Online (Sandbox Code Playgroud)
和
%26%231055%3B%26%231088%3B%26%231080%3B%26%231074%3B%26%231077%3B%26%231090%3B
Run Code Online (Sandbox Code Playgroud)
我正在尝试URL将俄语文本"Привет"编码到上面的第二个编码字符串中(W3Schools编码器正确执行),但我使用的URL编码器一直给我上面的第一个编码字符串.我正在使用W3联盟的URLUTF8Encoder.java.当我在需要J2ME的移动平台上工作时,我必须使用这个.
谢谢!
w3schools的URL编码器完全错误.这%D0%9E%D0%BA%D0%B6%D1%8D%D0%B7
完全有效.这也是我做的事情
String encoded = URLEncoder.encode("??????", "UTF-8");
Run Code Online (Sandbox Code Playgroud)
当我对w3schools的答案进行URL解码时,如下所示
String decoded = URLDecoder.decode("%26%231055%3B%26%231088%3B%26%231080%3B%26%231074%3B%26%231077%3B%26%231090%3B", "UTF-8");
Run Code Online (Sandbox Code Playgroud)
然后我得到Привет
的正是那些俄罗斯字符,然后首先转换成XML实体.
那个w3schools网站顺便说一句,与W3联盟无关.另见w3fools.