我有字节数组,我要转换为ascii
string.but我不知道它是否是ASCII, 我不知道它是否是正确的格式,我使用字节数组转换为ASCII字符串是乱码
org.apache.commons.codec.binary.StringUtils.newStringUsAscii (driveCodeByte);
但转换的字符串是乱码如下图,所以我能做些什么来转换为正确的格式?
即使我不确定它是ascii或其他编码格式。
我有字节数组,我要转换为ascii
string.but我不知道它是否是ASCII, 我不知道它是否是正确的格式,我使用字节数组转换为ASCII字符串是乱码
org.apache.commons.codec.binary.StringUtils.newStringUsAscii (driveCodeByte);
但转换的字符串是乱码如下图,所以我能做些什么来转换为正确的格式?
即使我不确定它是ascii或其他编码格式。
要将byte[]
转换为String
和转换编码,你不需要外部框架。
String original = new String(myByteArray, myOriginalEncoding)
从您的byte[]
给出的预期编码得到String
。String
转换为取其编码(这里ASCII):String converted = new String(original.getBytes(myOriginalEncoding), "Cp1252")
注意
您必须知道你原来String
的编码与解释,即UTF-8
,ISO Latin 1
等。
什么是“乱码”?我们不知道原始数据是什么,或者您期望的输出。如果你想提供更多的上下文以及样本输入数据和期望的输出数据,这将非常有帮助。 – 2014-10-16 10:57:45
我真的不知道输出内容,我只知道字节数组应该转换为ASCII字符串,但现在我的转换是不正确的,因为它是乱码 – 2014-10-17 01:26:31
我强烈怀疑它是*非* ASCII文本,那么你不应该'实际上将其转换为ASCII。如果你不知道*它最初是文字,你不应该假设它是。你说你“不知道输出内容” - 当然你有一些想法是什么信息。如果你不这样做,你为什么要使用它? – 2014-10-17 05:42:07