1、拷贝内容到QByteArray

1.使用append函数    //结合结构体的(char*)强制转化使用,command.append((char*)&e2_System_Para_t, sizeof(e2_System_Para_t));

2.使用memcpy函数,用memcpy之前先调用resize函数分配内存

3.先resize,再使用[  ]函数

2、从QByteArray中提取数据,一般使用memcpy函数结合结构体,比较快捷

注意:

QByteArray test;
test.append(0x0800); //test -->08。(小端)直接将0x0008转化为0x08。这里便只是添加了一个字节在test中。

3、将存储的ASCII码取出(取出其中的基本数据类型,这里以float举例)

void MyMethod::analysis0x08Packet(const QByteArray& ba, QVector<double>& x, QVector<double>& y)
{
int wiresCount = (ba.size() - 20) / 16;
x.clear(); y.clear();
float tmpFloat=0;
QByteArray temp;
for (int i = 0; i < wiresCount; i++){
temp = QByteArray::fromHex(QString(ba.mid(17+16*i,8).data()).toLatin1());
          memcpy(&tmpFloat, temp.data(), 4);
		x.append(tmpFloat);
temp = QByteArray::fromHex(QString(ba.mid(25 + 16*i, 8).data()).toLatin1());
memcpy(&tmpFloat, temp.data(), 4);
y.append(tmpFloat);
}
}

 注意:fromHex()和toLatin1()的使用

[static] QByteArray QByteArray::fromHex(const QByteArray &hexEncoded)。例子如下:
QByteArray text = QByteArray::fromHex("517420697320677265617421");
text.data(); // returns "Qt is great!"
QByteArray QString::toLatin1() const。//返回Latin1格式的QByteArray。Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。
												

最新文章

  1. Net通用进销存管理系统 + 开发文档+ 使用说明
  2. SDUT 2608:Alice and Bob
  3. tableview_nav 动画效果
  4. MVC的异步,Entity Framework的异步,ADO.NET的异步,
  5. bzoj1385: [Baltic2000]Division expression
  6. GTK+中的树状列表构件(GtkTreeView)
  7. xCode如何导入自定义的snippets文件
  8. javascript 之闭包-理解不了来找我
  9. cnBlog 的windows live writer 客户端配置
  10. C3P0数据库连接池使用中的问题
  11. 「JavaScript面向对象编程指南」原型
  12. php生出随机字符串
  13. Jenkins控制台显示乱码
  14. poj1696
  15. mybatis cloud not autowired
  16. 总结Javascript中数组各种去重的方法
  17. 页面资源缓存 html css js
  18. hdu1165 规律递推
  19. Ubuntu16.04安装Elasticsearch
  20. HDU3507Print Article (斜率优化DP)

热门文章

  1. 【Bootstrap】 框架 栅格布局系统设计原理
  2. csp-s模拟测试91
  3. P2004 领地选择
  4. [Python]PDF合成小程序PDF合成小程序
  5. maven-version
  6. [21]APUE:线程同步之记录锁(文件)
  7. SQLServer 安装失败可能的原因
  8. AT指令集之Call
  9. 使用R语言 SDK调取tushare数据
  10. 【第五周读书笔记】我是一只IT小小鸟