我有一个使用Java处理字节数组的程序,现在我想将其写入XML文件。但是,我不确定如何将以下字节数组转换为明智的字符串以写入文件。假设它是Unicode字符,我尝试了以下代码:
String temp = new String(encodedBytes, "UTF-8");
只是为了让调试器显示encodingBytes包含
"\ufffd\ufffd ^\ufffd\ufffd-m\ufffd\ufffd\/ufffd \ufffd\ufffdIA\ufffd\ufffd"
。字符串应包含字母数字格式的哈希。我如何将上述字符串转换为明智的字符串以进行输出?
最佳答案
如果您的字符串是密码哈希方案的输出(看起来可能是这样),那么我认为您需要对Base64进行编码才能将其放入纯文本中。
如果您有想要输出到文本文件的原始字节,则标准过程是使用Base 64编码。 Commons Codec库提供了Base64编码器/解码器供您使用。
希望这可以帮助。