zoukankan      html  css  js  c++  java
  • [Erlang0011][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字节无符号长度。

  • 相关阅读:
    TSQL 基础学习 04
    第13章 网络编程
    Oracle 第一天
    第11章 进程与多线程
    Linux 第06天
    构造Json对象串工具类
    第14章 数据库
    第07章 集合
    YARNMR 大数据第二天
    第12章 多媒体
  • 原文地址:https://www.cnblogs.com/liangjingyang/p/2806159.html
Copyright © 2011-2022 走看看