Show HN: Hexi – Modern header-only network binary serialisation for C++
a year ago
- #Serialization
- #C++
- #Binary Data
- Hexi是一个轻量级、仅头文件的C++23库,用于安全处理二进制数据(主要来自网络源)
- 支持DNS、STUN、NAT端口映射协议等协议,注重易用性、安全性和最小开销
- Hexi不提供版本控制、格式转换或基于文本的格式处理功能
- 采用MIT和Apache License 2.0双重许可,允许灵活使用
- 通过复制hexi.h或使用CMake可轻松集成到项目中
- 核心类:buffer_adaptor(容器包装器)和binary_stream(处理读/写操作)
- 通过异常或no_throw机制支持边界检查和错误处理(零运行时开销)
- 使用hexi::endian处理字节序,实现可移植数据序列化
- 通过null_terminated等适配器安全处理字符串序列化
- 提供额外组件如file_buffer、static_buffer和dynamic_buffer满足多样化需求
- 支持写入定位、通过put/get精细控制,以及零拷贝视图访问缓冲区数据