二进制字符串列表再返回

Bur*_*bas 3 erlang

我偶然发现了一个非常恼人的问题;

我正在尝试生成一个字符串列表的二进制文件,然后再返回.例如

erlang:binary_to_list(erlang:list_to_binary(["hello", "world"])
Run Code Online (Sandbox Code Playgroud)

这将返回"helloworld"而不是具有两个不同元素的列表.有没有人有任何想法如何解决这个问题?一种解决方案可能是对每个元素进行编码,但可能有更优雅的解决方案吗?

gle*_*ber 11

是的,你必须以某种方式对其进行编码.这是通过将其编码为Erlang二进制术语格式来实现它的最简单方法

erlang:binary_to_term(erlang:term_to_binary(["hello", "world"]))
Run Code Online (Sandbox Code Playgroud)