Skip to content

二进制格式(ASUN-BIN)

ASUN-BIN 是 ASUN 文本格式的二进制配套形态,适合不再需要人工可读性的内部服务通信、缓存和存储。

适用场景

场景推荐格式
LLM 提示词与响应ASUN Text
人类可读文件或日志ASUN Text
内部服务边界ASUN-BIN
缓存值ASUN-BIN
磁盘快照ASUN-BIN

它主要优化什么

  • 更紧凑的类型化表示
  • 稳定字段顺序
  • 同一运行时内更快的编解码
  • 更少的文本解析工作

性能说明

二进制模式通常是 ASUN 性能表现最强的一种形态,但结果仍然取决于具体实现。

  • Rust 目前拥有最成熟的二进制 benchmark 集。
  • 原生实现通常收益最大。
  • 跨语言通信仍然更推荐使用 ASUN 文本格式。

实现级说明请看 benchmark notes

线模型

所有整数采用小端序,字符串采用长度前缀。

类型编码
bool1 字节
i8 / u81 字节
i16 / u162 字节 LE
i32 / u324 字节 LE
i64 / u648 字节 LE
f324 字节 LE
f648 字节 LE
str / String[u32 长度][UTF-8 字节]
Option<T>[tag][payload]
Vec<T>[u32 数量][元素...]
struct按 schema 顺序编码字段

二进制 payload 不像文本 ASUN 那样天然自描述。实际解码通常仍需要:

  • 显式 schema 字符串
  • 目标类型
  • 或两端一致的字段布局

互操作性

ASUN-BIN 更适合被视为实现内或运行时内的私有线格式。如果不同语言之间需要通信,除非二进制实现已明确对齐,否则优先使用 ASUN 文本。

基于 MIT 许可证发布。