Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java UTF-8 URLEncoder编码不应使用的特殊字符';T_Java_Android - Fatal编程技术网

Java UTF-8 URLEncoder编码不应使用的特殊字符';T

Java UTF-8 URLEncoder编码不应使用的特殊字符';T,java,android,Java,Android,我尝试在登录我的移动应用程序时对用户名和密码进行编码。我正在连接到一个现有的API,应该发送一个编码的用户名和密码。我使用的URLEncoder使用UTF_8,但它似乎编码了大多数特殊字符。我将编码的字符串与邮递员编码的字符串进行比较(这是正确的版本) 这是我的密码: URLEncoder.encode(value, StandardCharsets.UTF_8.toString()); 对于字符串~!@$%^&*():?“`[]\',”/ 在《邮递员》中,它被编码为 ~!%40%23%24%

我尝试在登录我的移动应用程序时对用户名和密码进行编码。我正在连接到一个现有的API,应该发送一个编码的用户名和密码。我使用的URLEncoder使用UTF_8,但它似乎编码了大多数特殊字符。我将编码的字符串与邮递员编码的字符串进行比较(这是正确的版本)

这是我的密码:

URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
对于字符串~!@$%^&*():?“`[]\',”/

在《邮递员》中,它被编码为

~!%40%23%24%25%5E%26*()_%2B%7B%7D%7C%3A%3C%3E%3F%22%60%5B%5D%5C%3B'%2C.%2F
在我的应用程序中,它被编码为

%7E%21%40%23%24%25%5E%26*%28%29_%2B%7B%7D%7C%3A%3C%3E%3F%22%60%5B%5D%5C%3B%27%2C.%2F

如您所见,它使用静态常量
UTF\u 8
toString()
方法对大多数特殊字符进行编码(异常为.*)

,因为字符编码方案抛出
java.nio.charset.IllegalCharsetNameException:java.nio.charset.CharsetICU[UTF-8]
作为
toString()
返回java.nio.charset.CharsetICU[UTF-8]”。要获得所需的“UTF-8”,请使用
displayName()
方法


更改之后,您的代码工作与您在我的环境中所希望的一样。

您好。我的代码没有引发这样的异常。我只是尝试了displayName()方法,结果仍然相同