在我的程序中,我将输入的字节流转换为String。但是当字节流包含带有ë的单词时,此字母将转换为%。我该如何解决?
THX
答案 0 :(得分:0)
对于编码这些字符,
将String对象转换为UTF-8
,调用getBytes
方法并指定适当的编码标识符作为参数。 getBytes方法返回UTF-8格式的字节数组。要从非Unicode字节数组创建String对象,请使用encoding参数调用String构造函数。请参阅,
try {
byte[] utf8Bytes = original.getBytes("UTF8");
byte[] defaultBytes = original.getBytes();
String roundTrip = new String(utf8Bytes, "UTF8");
System.out.println("roundTrip = " + roundTrip);
System.out.println();
printBytes(utf8Bytes, "utf8Bytes");
System.out.println();
printBytes(defaultBytes, "defaultBytes");
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}