[Erlang-0011][OTP] External Term Format
http://www.erlang.org/doc/apps/erts/erl_ext_dist.html
常用的如下:
8.4 小整数格式
-----------------
|1 |1 |
-----------------
|97 |Int |
-----------------
Table 8.10:
无符号8位整数
8.5 整数格式
-----------------
|1 |4 |
-----------------
|98 |Int |
-----------------
Table 8.11:
有符号的32为整数,大端格式(MSB优先)
8.6 浮点数(略)
8.7 原子
--------------------------
|1 |2 |Len |
--------------------------
|100 |Len |AtomName|
--------------------------
Table 8.13:
8.9 端口(略)
8.10 PID(略)
8.11 小元组
----------------------------
|1 |1 |N |
----------------------------
|104 |Arity |Elements |
----------------------------
Table 8.17:
Arity是无符号的字节,指示Elements的个数。
8.12 大元组
---------------------------------
|1 |4 |N |
---------------------------------
|105 |Arity |Elements |
---------------------------------
Table 8.18:
Arity是无符号4字节,大端字节序列。
8.13 空列表
-------------
|1 |
-------------
|106 |
-------------
Table 8.19:
代表空列表(空数组)。
8.14 字符串
------------------------------
|1 |2 |Len |
------------------------------
|107 |Length |Characters |
------------------------------
Table 8.20:
字符串没有一个相应的erlang表现形式,这里是为发送字节的列表(字节编码范围在0-255)更高效而做的优化。由于Length字段是一个无符号2字节的整数(大端序列),所以长度大于65535的的列表必须编码成列表格式。
8.15 列表
-----------------------------------------------
|1 |4 | | |
-----------------------------------------------
|108 |Length |Elements |Tail |
-----------------------------------------------
Table 8.21:
Length是Elements的里元素的数量。Tail是列表的尾巴。正常的列表的话是“空列表”,但是如果非正常列表的话Tail可能是各种形式。
8.16 二进制
------------------------
|1 |4 |Len |
------------------------
|109 |Len |Data |
------------------------
Table 8.22:
这里的二进制指的是位语法表达式或lists_to_binary/1,term_to_binary/1,或二进制端口输入的。Len长度字段是无符号4字节的整数(大端序列)。
8.17 SMALL_BIG_EXT
-------------------------------------------------
|1 |1 |1 |n |
-------------------------------------------------
|110 |n |Sign |d(0) ... d(n-1) |
-------------------------------------------------
Sign是符号,0是正,1是负。
B = 256
(d0*B^0 + d1*B^1 + d2*B^2 + ... d(n-1)*B^(n-1))
8.17 LARGE_BIG_EXT
-------------------------------------------------
|1 |4 |1 |n |
-------------------------------------------------
|110 |n |Sign |d(0) ... d(n-1) |
-------------------------------------------------
Sign是符号,0是正,1是负。
B = 256
(d0*B^0 + d1*B^1 + d2*B^2 + ... d(n-1)*B^(n-1))
8.20 SMALL_ATOM_EXT
---------------------------------
|1 |1 |Len |
---------------------------------
|115 |Len |AtomName |
---------------------------------
Table 8.26:
Len 1字节无符号长度。