Java将字节转换为二进制安全字符串

时间:2012-12-13 10:26:27

标签: java redis binary-data

我有一些字节数据,我想将它们放入Redis,但Redis只接受二进制安全字符串,我的数据有一些二进制非安全字节。那么如何将这些字节转换为二进制安全字符串以便我可以将它们保存到Redis?

Base64对我有用,但是它会让数据更大,更好吗?

更新:我想将我的protobuf对象序列化为Redis,序列化数据有'\ x00',所以当我从Redis读取数据时,我无法将数据反序列化为对象。然后我尝试了base64,它工作正常,但尺寸更大。

所以我想弄清楚如何安全地以较小的尺寸将二进制数据(protobuf对象)序列化到Redis

1 个答案:

答案 0 :(得分:2)

您可以尝试ISO-8859-1编码。这使用字节和字符之间的一对一映射。

这仍然可能导致损坏,具体取决于Redis需要这个“二进制安全”字符串的原因。您可能必须使用base64。