0

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

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

这是成功的,除了一个特殊字符,即尖撇号。当比较十六进制的输入和输出时,我有这个:

例如:

  • 40变成40 00
  • 55变成55 00

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

我怎样才能优雅地解决这个问题?我尝试了默认的 String 构造函数和其他编码,但都没有运气。

4

1 回答 1

0

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

您不能说 55 变为 55 00,因为这些不是您可以单独访问的两个字节,如果您将其打印为十六进制,它是一个 0055 或仅 55 的字符。

于 2013-06-14T15:05:22.443 回答