字节数组转换为ascii字符串是乱码

时间:2014-10-16 10:56:22

标签: java string byte ascii

我有字节数组,我想转换为ascii字符串。但我不确定它是否是ascii, 我不确定它是否是正确的格式,我使用

org.apache.commons.codec.binary.StringUtils.newStringUsAscii (driveCodeByte);

但是转换后的字符串会出现乱码,如下图所示,那么我可以做些什么来转换为正确的格式呢?

即使我不确定它是ascii还是其他编码格式。

enter image description here

1 个答案:

答案 0 :(得分:2)

要将byte[]转换为String并转换编码,您不需要外部框架。

  • 使用String original = new String(myByteArray, myOriginalEncoding)String获得预期编码的byte[]
  • 然后,再次初始化新的String以转换为任何编码(此处为ASCII):String converted = new String(original.getBytes(myOriginalEncoding), "Cp1252")

注意

必须知道要解释的原始String的编码,即UTF-8ISO Latin 1等。