tbox对于数据文件的解析提供了完善的支持,可以对各种二进制数据,文件数据流,网络数据流等进行各种解析操作
并且提供了一整套字节解析、比特位解析的接口,来支持各种流模式:
stream
通用数据流,提供对流式数据的读写和解析,支持多层流嵌套以及各种协议(http, socket, file, data ...)
对于如何使用stream,这里暂时不详细介绍了,之后会单独重点介绍下,这里主要是为了描述,如何使用stream来处理字节数据的解析
例如,我要从数据流中,读取一个大端的16bits数值,很简单,只要:
c
tb_uint16_t value;
if (tb_stream_bread_u16_be(stream,
继续阅读 »
tbox中提供了常用的一些stream模块,例如:data、file、http、sock等,可以通过指定不同的url,使用相同的接口
进行数据流的读写,非常的方便。
例如:
```c
// init stream
tb_stream_ref_t stream = tb_stream_init_from_url("http://www.xxx.com/file.txt");
if (stream)
{
// open stream
if (tb_stream_open(stream))
{
// read line
继续阅读 »
数据的传输和获取,通常会涉及到数据的压缩和解压等操作
more
如果现在有这么个需求
1、从服务器下载的图片,根据图片的二进制数据流决定图片的格式,你会怎么办? (数据截取)
2、需要将用户每天24小时的生活状态传到服务器,然后可以按年/月/周/天取出并统计、展示等,你会怎么办?(字节数组)
对于上面的问题,我们就必须考虑数据结构,并实现压缩和解压等操作
下面给予一个简单的示例,希望有所启示
```objc
//打包
int tmpSize = 10;
Byte *tmpBuffer = malloc(sizeof(Byte)*tmpSize);
for (int i = 0;i
继续阅读 »