【发布时间】: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
有什么想法或者我应该开始编写自己的转换方法吗?
【问题讨论】: