java - Android 中的 UTF-8 转换?

标签 java android string utf-8

我遇到了一个问题,我需要调用网络服务。我只需要生成一个 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/

相关文章:

javascript - 根据用户对 CharAt 的选择,我如何添加句子的其余部分?

javascript - 在 JavaScript 中使用++ 时的奇怪行为

java - 我得到 fragment id 无 View

java - 以编程方式管理 LinearLayout

java - eclipse中tomcat错误404

javac 忽略@SuppressWarnings ("all")

android - AlarmManager 适合写时钟部件吗?

android - 如何在 Volley onErrorResponse 中获取 JSON 错误响应

android - 在Android上流式传输m3u8 HLS音频

带有字符串的 Java 7 switch 语句不起作用