ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
tools_code.h File Reference

二进制编解码辅助工具 More...

Classes

struct  ngl::tools::varint_parm< T >
 varint编解码参数结构体 More...

Namespaces

namespace  ngl::tools
 工具函数命名空间。

Functions

int ngl::tools::varint_length (parm< int32_t > &avalues)
 计算32位整数的varint编码长度
int ngl::tools::varint_length (parm< int64_t > &avalues)
 计算64位整数的varint编码长度
bool ngl::tools::varint_encode (varint_parm< int64_t > &aparm)
 64位整数varint编码
bool ngl::tools::varint_decode (varint_parm< int64_t > &aparm)
 64位整数varint解码
bool ngl::tools::varint_encode (varint_parm< int32_t > &aparm)
 32位整数varint编码
bool ngl::tools::varint_decode (varint_parm< int32_t > &aparm)
 32位整数varint解码
int ngl::tools::to_hex (void *apso, int alen, void *apto)
 字节数组转十六进制字符串
bool ngl::tools::to_bytes (void *apso, int alen, void *apto, int &aout_len)
 十六进制字符串转字节数组
void ngl::tools::bytexor (char *ap, int32_t aplen, int apos)
 XOR异或加密/解密

Detailed Description

二进制编解码辅助工具

提供变长整数(varint)编解码、十六进制转换、字节异或等底层二进制操作函数。 变长整数编码用于高效存储和传输整数值,常用于网络协议和序列化场景。

Note
所有函数均位于 ngl::tools 命名空间下。
// 变长整数编码示例
char buffer[16];
int64_t value = 12345;
int32_t bytes_written = 0;
ngl::tools::varint_parm<int64_t> parm{value, buffer, 0, &bytes_written};
// 编码成功,bytes_written 为写入的字节数
}