0

我已将Erlang术语存储到Riak的存储桶/密钥中。

这个 Term 由 Erlang 存储为我认为是二进制的

例如,这是原始的 erlang 术语:{someAtom,[1,2,3],{"text1","text2"}}

使用java程序,我尝试使用 riak 客户端获取数据,但数据已编码。Riak 也将数据存储为二进制,但是 java 客户端有一个 getValueAsString() 方法,但由于源数据是二进制的,所以这不起作用(显然)。

关键是,如果我在 java 中将此数据读取为 byte[],如何将其解码为表示此文本的字符串:{someAtom,[1,2,3],{"text1","text2"}} ? 更具体地说,erlang 是否存储为代表单个字符的 ASCII 代码的字节?

4

1 回答 1

0

我几乎可以肯定您使用错误的接口从 Java 访问数据。看看Riak Java 客户端快速入门。他们不使用getValueAsString(),并且在他们使用的地方有一个代码RiakResponse.getRiakObjects()。试试看。

于 2013-02-28T08:07:55.870 回答