【原创】Erlang 中 binary_to_term 和 term_to_binary 的使用场景



在《Erlang程序设计》第五章中有如下说明:

@spec term_to_binary(Term) -> Bin
      该函数可以将任何 Erlang 项式转化为相应的二进制数据。而转换得到的二进制数据是以所谓的“外部数据格式”存储的。这种数据可以用于文件存储、网络传输等。而且在转换之后,还可以从这些二进制数据中还原出原始的数据项。该函数在需要对复杂的数据结构进行文件存储和网络传输时极为有用。

在《erts-x.x.x》的 Reference Manual -> erlang 中有如下说明:
term_to_binary(Term) -> ext_binary()
Types:
    Term = term()
Returns a binary data object which is the result of encoding Term according to the Erlang external term format.
根据 Erlang 外部项式格式对 Term 进行编码,返回相应的二进制数据对象
This can be used for a variety of purposes, for example writing a term to a file in an efficient way, or sending 
an Erlang term to some type of communications channel not supported by distributed Erlang.

在《初探Erlang的term_to_binary数据封包机制》中关于外部项式的详细解释:
erlang:term_to_binary/1,2 函数返回值是 Erlang 扩展 term 格式 (Erlang external term format) 的 binary,即 ext_binary() 。 这个函数能把 Erlang 数据封装成二进制流,是一种存储和传输 Erlang 数据的有效途径,甚至可以用这种封包/解包方式用作 Socket 的通信协议(某页游项目就是这么干的)。




转载于:https://my.oschina.net/moooofly/blog/281986

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值