首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java将字节转换为二进制安全字符串

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

Stack Overflow用户
提问于 2012-12-13 18:26:27
回答 2查看 1.8K关注 0票数 4

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

Base64适用于我,但它使数据更大,还有更好的主意吗?

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

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

EN

回答 2

Stack Overflow用户

发布于 2012-12-13 18:38:47

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

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

票数 2
EN

Stack Overflow用户

发布于 2013-01-04 04:42:27

序列化二进制对象(如protobuf对象)的唯一安全方法是对其进行base64编码。Base64的开销为33%,但它允许您安全地将任意二进制数据转换为文本(例如在xml文件中使用)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13857824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档