普贤教程 › 包参考
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_pack | v |
mp_unpack | b |
其余 16 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
mp_pack_at | v |
mp_pack_int | v |
mp_pack_str | s |
mp_pack_bin | b |
mp_pack_arr | v |
mp_pack_map | d |
mp_take | b, off, n, tag |
mp_unpack_at | b, off |
mp_str_take | b, off, n |
mp_bin_take | b, off, n |
mp_arr_n | b, off, n |
mp_map_n | b, off, n |
mp_pack_float | v |
mp_pack_bool | v |
mp_pack_nil | |
mp_unpack_type | b, 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 老坑)。 ============================================================