0

在我的程序中,我将作为输入得到的字节流转换为字符串。但是当字节流包含带有 ë 的单词时,该字母将转换为 %。我该如何解决?

谢谢

4

1 回答 1

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();
}
于 2012-08-28T07:27:00.247 回答