在Java中,我尝试使用以下命令将字节数组(byte[]
)xml转换为字符串:
String output = new String(myXMLbyteArray, "UTF-8");
这是成功的,除了一个特殊的角色,急性撇号。比较十六进制的输入和输出时,我有:
例如:
40
变为40 00
55
变为55 00
但是特殊字符92
变为19 20
而不是92 00
。
我该如何优雅地解决这个问题?我尝试了默认的String构造函数和其他编码而没有运气。
答案 0 :(得分:0)
我怀疑你想要的是ISO-8859-1,它将0-255转换为0-255。这意味着(字节)92 => (char)92
你不能说55变成了55 00,因为这些不是你可以单独访问的两个字节,它是一个char,它将是0055,如果你打印为十六进制只有55.