paulc/struct-cli
GitHub: paulc/struct-cli
一个支持通过命令行或 Rust 库对二进制结构体进行打包与解包的工具,涵盖整数、位域、字符串、十六进制等多种字段类型及字节序控制。
Stars: 0 | Forks: 0
# struct-cli
通过命令行或 Rust 代码打包和解包二进制结构体。
## 字段类型
运行 `struct-cli types` 获取完整参考。摘要:
| 类型 | 描述 |
|------|-------------|
| `u8`/`u16`/`u32`/`u64`/`u128` | 无符号整数 |
| `i8`/`i16`/`i32`/`i64`/`i128` | 有符号整数 |
| `bool` | 1 字节布尔值 (0=false,非零=true) |
| `b1`..`b7` | N 位的位域,在一个字节内按 MSB 优先打包 |
| `sN` | 固定长度为 N 字节的 UTF-8 字符串,零填充 |
| `s` | 无界 UTF-8 字符串,消耗剩余的所有输入 |
| `p` | Pascal 字符串:1 字节长度前缀 + 数据(最大 255 字节) |
| `xN` | 恰好为 N 字节的原始字节,以十六进制编码 |
| `x` | 无界原始字节,消耗剩余的所有输入 |
## 字节序
所有数字类型默认为**小端序(little-endian)**。在类型前加上 `>` 前缀表示大端序,或加上 `<` 表示显式的小端序。
```
u16 little-endian (default)
>u16 big-endian
[]
Pack and unpack binary structs.
Options:
--dump-json print effective parameters as JSON and exit without
executing
--help, help display usage information
Commands:
decode Decode binary data into typed fields.
encode Encode typed fields into binary data.
run Execute encode or decode using a saved JSON config file.
types Show supported field types and value syntax.
```
### decode
```
Usage: struct-cli decode [-t ] [--types-json ] [-x ] [-n ] [--stdin-hex] [-o 标签:Rust, 二进制数据处理, 可视化界面, 底层开发工具, 数据序列化, 数据解析, 文档结构分析, 网络流量审计, 通知系统