我遇到了一个问题,我需要调用网络服务。我只需要生成一个 UTF-8 编码的 url 字符串。因为参数可能包含空格,所以我使用下面的一段代码编码为 utf-8:
public String encodeUTF(String str) {
try {
byte[] utf8Bytes = str.getBytes("UTF-8");
String encodedStr = new String(utf8Bytes, "UTF-8");
return encodedStr;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
但我仍然得到相同的值。因此,我在调用服务时遇到非法参数异常。有什么想法吗?
最佳答案
对于 UTF 编码,使用这个 -> URLEncoder.encode(string, "UTF-8");
还需要更改空格 -> string.replace("", "%20");
关于java - Android 中的 UTF-8 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7845998/