我有一个使用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编码器/解码器供您使用。

希望这可以帮助。

10-06 01:17