在我的程序中,我将作为输入得到的字节流转换为字符串。但是当字节流包含带有 ë 的单词时,该字母将转换为 %。我该如何解决?
谢谢
为了编码这些字符,
将 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();
}