将二进制数据转换为可定义的字符集

时间:2014-04-10 19:18:08

标签: java hash binary byte

如何将可读字符范围内不能包含的字节数组转换为java中可定义的字符集?

这是一个例子:

byte[] bytes = new byte[] { 60, 109, -73, 0, 0, 
                            0, 0, -128, -1, -1, 
                            -1, -121, 19, 21, 14, 0 };

String base64 = "PG23AAAAAID///+HExUOAA==";

应该可以配置哪些字符可用于输出。 可能的字符应为:az和/或AZ和/或0-9和/或<> |,;。: - _!" $%& /()=?*' +#〜}] [{

特殊字符应该可以选择单个。

有哪种API已经完成了吗?如果没有,应该如何实施。

必须具有:相同的byte []应该是相同的转换字符串,但不能更改回来。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题。

如果您想使用base64

对解码进行编码

然后请参阅此SO answer

如果您想将字节转换为基数为64的字符串,则可以使用BigInteger

喜欢这个

new BigInteger(1, bytes).toString(64)

对我来说,您正在寻找解码base64哈希函数的方法。

在这两种方法中,你的输入都不会返回上面提到的内容:)