px普贤教程PuXian
普贤教程 › 包参考

msgpack 包

MessagePack 编解码

项值
包名msgpack
版本0.2.0
可用版本0.1.0 / 0.2.0
入口msgpack.px
分类数据格式与编解码
文件数 / 行数1 / 367

安装与引入

bash
pxpkg init          # 首次
pxpkg add msgpack@0.2.0
pxpkg install
px
import msgpack
所属分类教程:数据格式与编解码

公开接口

函数参数
mp_packv
mp_unpackb
其余 16 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
mp_pack_atv
mp_pack_intv
mp_pack_strs
mp_pack_binb
mp_pack_arrv
mp_pack_mapd
mp_takeb, off, n, tag
mp_unpack_atb, off
mp_str_takeb, off, n
mp_bin_takeb, off, n
mp_arr_nb, off, n
mp_map_nb, off, n
mp_pack_floatv
mp_pack_boolv
mp_pack_nil
mp_unpack_typeb, off

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/msgpack —— MessagePack 编解码
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
mp_pack(v)   → Ok(bytes) | Err
mp_unpack(b) → Ok(v) | Err
支持:null / bool / int(fix/8/16/32/64 有符号与无符号最小编码)/
float(编码为 float64)/ string(fixstr/str8/str16/str32)/
bytes(bin8/16/32)/ list(fixarray/array16/array32)/
dict(fixmap/map16/map32,键须 string)。
对拍 msgpack-python(msgpack.packb 逐字节一致)。
实现注意:协议头字节一律用 byte(n) 构造单字节(bytes(chr(n)) 对 n>=128
走 UTF-8 成 2 字节,PX-DEF-017 老坑)。
============================================================