【问题标题】:Another string conversion URL utf8 java另一个字符串转换 URL utf8 java
【发布时间】:2013-12-23 08:14:09
【问题描述】:

我在 java 中有这样的字符串

%C5%82%C3%B3

我想将其转换为 UTF-8。输出字符串应该是这样的

我怎样才能做到这一点?我浏览了关于 SO 的其他类似主题,但没有任何帮助。我试过了:

        byte[] b = myString.getBytes();
        byte[] b1 = myString.getBytes(Charset.defaultCharset());
        byte[] b2 = myString.getBytes(Charset.forName("UTF-8"));
        byte[] b3 = myString.getBytes(Charset.forName("ISO-8859-2"));
        byte[] b4 = myString.getBytes(Charset.forName("ISO-8859-1"));
        System.out.println(new String(b, "UTF-8"));
        System.out.println(new String(b, "ISO-8859-1"));
        System.out.println(new String(b1, "UTF-8"));
        System.out.println(new String(b1, "ISO-8859-1"));
        System.out.println(new String(b2, "UTF-8"));
        System.out.println(new String(b2, "ISO-8859-1"));
        System.out.println(new String(b3, "UTF-8"));
        System.out.println(new String(b3, "ISO-8859-1"));
        System.out.println(new String(b4, "UTF-8"));
        System.out.println(new String(b4, "ISO-8859-1"));

在上面的代码中 myString 包含

%C5%82%C3%B3

并且 System.out 总是打印出来

%C5%82%C3%B3

有什么想法或者我应该开始编写自己的转换方法吗?

【问题讨论】:

    标签: java string utf-8


    【解决方案1】:

    此字符串是 URL 编码的。您需要对其进行解码。

    在这里做一些测试。

    http://meyerweb.com/eric/tools/dencoder/

    那就试试这个吧。

    String result = URLDecoder.decode("%C5%82%C3%B3", "UTF-8");
    

    另请参阅: http://docs.oracle.com/javase/7/docs/api/java/net/URLDecoder.html

    【讨论】:

    • 非常感谢!它帮助我节省了很多时间。我会在 5 分钟内接受。
    【解决方案2】:

    您可以使用 URLDecoder 类来解码您的编码字符串:

    System.out.println(URLDecoder.decode("%C5%82%C3%B3", "UTF-8"));
    

    【讨论】:

      猜你喜欢
      • 2011-04-30
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2015-09-04
      相关资源
      最近更新 更多