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

简介:

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

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

在《erts-x.x.x》的 Reference Manual -> erlang 中有如下说明:  
?
1
2
3
4
5
6
7
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 的通信协议(某页游项目就是这么干的)。


目录
相关文章
|
23天前
|
缓存 算法 C语言
【C++ 标准查找算法 】C++标准库查找算法深入解析(In-depth Analysis of C++ Standard Library Search Algorithms)
【C++ 标准查找算法 】C++标准库查找算法深入解析(In-depth Analysis of C++ Standard Library Search Algorithms)
45 0
|
5月前
|
算法 数据库 索引
Binary Search
二分查找(Binary Search)是一种在有序数组中查找目标值的算法。它的基本思想是将数组分成两半,判断目标值是否在左半部分或右半部分,然后递归地在相应的半部分中查找。这个过程不断重复,直到找到目标值或者确定目标值不存在为止。二分查找的时间复杂度为 O(logn),其中 n 是数组的长度。
37 0
PAT (Advanced Level) Practice - 1043 Is It a Binary Search Tree(25 分)
PAT (Advanced Level) Practice - 1043 Is It a Binary Search Tree(25 分)
103 0
PAT (Advanced Level) Practice - 1145 Hashing - Average Search Time(25 分)
PAT (Advanced Level) Practice - 1145 Hashing - Average Search Time(25 分)
100 0
【1043】Is It a Binary Search Tree (25 分)
【1043】Is It a Binary Search Tree (25 分) 【1043】Is It a Binary Search Tree (25 分)
103 0
【1064】Complete Binary Search Tree (30 分)
【1064】Complete Binary Search Tree (30 分) 【1064】Complete Binary Search Tree (30 分)
80 0
|
JSON 数据格式
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(一)
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(一)
|
自然语言处理
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(三)
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(三)
|
SQL 自然语言处理 API
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(六)
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(六)
217 0
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(七)
ElasticSearch02_DSL特定语言、match、bool、term、terms、aggs、from、size、range、sort排序查询、高亮显示(七)
104 0