将字节数组(byte [])转换为String会更改一个特殊字符

时间:2013-06-14 14:55:11

标签: java string encoding byte converter

在Java中,我尝试使用以下命令将字节数组(byte[])xml转换为字符串:

String output = new String(myXMLbyteArray, "UTF-8");

这是成功的,除了一个特殊的角色,急性撇号。比较十六进制的输入和输出时,我有:

例如:

  • 40变为40 00
  • 55变为55 00

但是特殊字符92变为19 20而不是92 00

我该如何优雅地解决这个问题?我尝试了默认的String构造函数和其他编码而没有运气。

1 个答案:

答案 0 :(得分:0)

我怀疑你想要的是ISO-8859-1,它将0-255转换为0-255。这意味着(字节)92 => (char)92

你不能说55变成了55 00,因为这些不是你可以单独访问的两个字节,它是一个char,它将是0055,如果你打印为十六进制只有55.