C语言序列化与反序列化实战

📚 共计 30 章节
01
序列化基础
什么是序列化 · 为什么需要序列化 · C语言中序列化的应用场景
入门概念
02
内存布局与字节序
大端与小端 · 结构体内存对齐 · 字节序转换函数
内存对齐
03
二进制序列化
使用memcpy进行基础序列化 · 结构体直接写入文件
二进制memcpy
04
文本序列化 · JSON
JSON格式简介 · cJSON库安装与使用 · JSON序列化与反序列化
JSONcJSON
05
XML序列化
XML格式简介 · libxml2库的使用 · XML序列化与反序列化
XMLlibxml2
06
Protocol Buffers
Protobuf简介 · protobuf-c库安装 · 定义.proto文件 · 编译与使用
Protobuf高效
07
MessagePack
MsgPack简介 · msgpack-c库的使用 · 高效二进制序列化
MsgPack紧凑
08
自定义序列化协议
设计自己的序列化格式 · 实现序列化与反序列化函数
自定义协议
09
网络传输中的序列化
Socket编程基础 · 序列化数据在网络中的发送与接收
网络Socket
10
文件存储中的序列化
配置文件读写 · 日志文件的序列化存储
文件存储
11
序列化性能优化
减少内存拷贝 · 使用零拷贝技术 · 批量序列化
性能零拷贝
12
跨平台序列化
不同平台数据类型差异 · 处理字节序问题 · 可移植性设计
跨平台移植
13
版本兼容性
序列化版本号 · 向前兼容与向后兼容 · 字段添加与删除
版本兼容
14
安全序列化
防止缓冲区溢出 · 输入验证 · 避免反序列化漏洞
安全防御
15
序列化与数据库
将序列化数据存入SQLite · BLOB字段的使用
SQLiteBLOB
16
序列化与多线程
线程安全的序列化 · 锁机制 · 无锁队列中的序列化
多线程并发
17
序列化与嵌入式系统
资源受限环境下的序列化 · Flash存储优化
嵌入式Flash
18
序列化与游戏开发
游戏存档的序列化 · 网络游戏数据包设计
游戏存档
19
序列化与物联网
MQTT协议中的序列化 · 传感器数据打包
IoTMQTT
20
序列化与微服务
RESTful API中的序列化 · gRPC与Protobuf
微服务gRPC
21
序列化与机器学习
模型参数的序列化 · ONNX格式简介
MLONNX
22
序列化与图像处理
BMP、PNG等图像格式的序列化原理
图像BMP
23
序列化与音频处理
WAV文件格式的序列化与解析
音频WAV
24
序列化与视频处理
H.264 NALU的序列化结构
视频H.264
25
序列化与加密
加密序列化数据 · AES加密与序列化结合
加密AES
26
序列化与压缩
zlib压缩序列化数据 · 压缩比与速度权衡
压缩zlib
27
序列化与校验
CRC32校验和 · MD5哈希 · 数据完整性验证
校验CRC32
28
序列化与调试
序列化数据的可视化 · Hexdump工具 · 调试技巧
调试Hexdump
29
序列化框架对比
JSON vs XML vs Protobuf vs MsgPack vs 自定义格式
对比选型
30
综合实战
构建一个完整的序列化通信系统 · 从设计到实现的全流程
实战项目