[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字節無符號長度。
轉載于:https://www.cnblogs.com/liangjingyang/archive/2012/12/06/2806159.html
總結
以上是生活随笔為你收集整理的[Erlang-0011][OTP] External Term Format的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样把SharePoint中文备份恢复到
- 下一篇: Sum-product Networks