TheSnowfield/bytelizer

GitHub: TheSnowfield/bytelizer

一个用现代 C 语言编写的高性能二进制打包解包库,通过宏和内联优化实现极致轻量。

Stars: 6 | Forks: 2

## Bytelizer Bytelizer 是一个用现代 C 语言编写的二进制打包/解包库, 专注于高性能和轻量化。 功能特性: - 用于后期数据插入/填充的锚点 - 屏障 (或称为段/包) - 长度前缀支持 - 静态 Protobuf 结构声明 - 字节序 几乎所有函数和变量都进行了宏化或内联处理,以实现编译器级别的静态优化。 [![frost](https://img.shields.io/badge/BYTELIZER-OwO-cea7ff)](#) [![license](https://img.shields.io/badge/LICENSE-GPLv2-greeen)](./blob/main/LICENSE) ## 快速指南 (C 语言) ``` typedef struct { uint16_t a; uint16_t b; uint32_t c; } example_t; // the generic way in c example_t _example = { .a = 0x1234, .b = 0x5678, .c = 0xDEADBEEF }; // the equivalent in bytelizer, // allocates 64 bytes on the stack. bytelizer_alloc(_ctx, 64); { bytelizer_put_uint16(_ctx, 0x1234); bytelizer_put_uint16(_ctx, 0x5678); bytelizer_put_uint32(_ctx, 0xDEADBEEF); } bytelizer_destroy(_ctx); ``` ## 快速指南 (BIT 语言) ``` [mode: pack] [name: pack_example] bytes { uint16 0x1234; uint16 0x5678; uint32 0xDEADBEEF; } ``` ## 许可证 基于 GPLv2 协议授权 ❤。
标签:Bytelizer, GPLv2, LangChain, Length Prefix, 二进制处理, 位操作, 内存操作, 内核驱动, 内联函数, 字节序处理, 宏定义, 客户端加密, 嵌入式开发, 数据序列化, 数据打包, 数据结构, 网络协议, 解包库, 轻量级, 静态优化