另一个字符串转换URL utf8 java

时间:2013-12-23 08:14:09

标签: java string utf-8

我在这样的java中有String

  

%C5%82%C3%B3

我想将其转换为UTF-8。输出字符串应如下所示

  

LO

我怎样才能实现这一目标?我在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

任何想法或我应该开始编写自己的转换方法吗?

2 个答案:

答案 0 :(得分:3)

此字符串是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

答案 1 :(得分:0)

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

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