在处理网络通信串行数据过程中(这里主要指socket通信)串行数据的发送和解析是一个重要的环节,对于socket通信常用的传输格式为字节流,所以通信时数据的串行化处理十分重要。这里首先说明下对串行数据解析的两种情况:1,串行数据为基本数据类型;2,串行数据为自定义数据类型如结构体。
在QT中处理串行数据常用的类为QDataStream,通过它的接口函数可以轻松实现数据的串行化存储和读取,这个类通过绑定IO接口(socket、IO设备、文件等)实现对目标文件内容的串行操作。存储原始二进制文件的常用类为QByteArray,这个类不是从IODevice继承过来的,但可以通过QDataStream实现数据的存储与操作。下面说明下使用过程和存在的坑!
1:通过QDataStream向QByteArray写入字符串