当前位置: 首页 > news >正文

开源手机网站系统触摸屏互动网站建设案例

开源手机网站系统,触摸屏互动网站建设案例,做ppt什么网站图片好,wordpress文章列表1.大小端数据简介 大小端#xff08;Endianness#xff09;是计算机体系结构的一个术语#xff0c;它描述了多字节数据在内存中的存储顺序。以下是大小端的定义和它们的特点#xff1a; 大端#xff08;Big-Endian#xff09; 在大端模式中#xff0c;一个字的最高有效…1.大小端数据简介 大小端Endianness是计算机体系结构的一个术语它描述了多字节数据在内存中的存储顺序。以下是大小端的定义和它们的特点 大端Big-Endian 在大端模式中一个字的最高有效字节MSB即最左边的那位存储在最低的内存地址处而最低有效字节LSB即最右边的那位存储在最高的内存地址处。 例如假设有一个16位的数字 0x1234其在内存中的存储顺序如下 地址增加方向 -- [ 12 ] [ 34 ]其中 [12] 是高字节存储在低地址处[34] 是低字节存储在高地址处。 小端Little-Endian 在小端模式中情况正好相反一个字的最低有效字节存储在最低的内存地址处而最高有效字节存储在最高的内存地址处。 继续上面的例子16位的数字 0x1234 在小端模式下的存储顺序如下 地址增加方向 -- [ 34 ] [ 12 ]其中 [34] 是低字节存储在低地址处[12] 是高字节存储在高地址处。 2.小端数据收发 假设我们现在有一个UDP头的数据结构如下所示。 //UDP协议头typedef struct{quint16 type; //报文类型quint16 num; //报文序号取值范围为065535quint32 len; //报文长度quint16 srcAddr; //信源地址quint16 dstAddr; //信宿地址quint8 year; //发送时间 年份后两位 UTC时间quint8 month;quint8 day;quint8 hour;quint8 minute;quint8 second;}UdpHeader;数据发送组包。 QByteArray pack(const Protocol::UdpHeader header) {QByteArray byte;byte.append((char*)(header.type),2);byte.append((char*)(header.num),2);byte.append((char*)(header.len),4);byte.append((char*)(header.srcAddr),2);byte.append((char*)(header.dstAddr),2);QString format yy-MM-dd-hh-mm-ss;QDateTime dateTime QDateTime::currentDateTime();dateTime.setTimeSpec(Qt::LocalTime);QDateTime utcTime dateTime.toUTC();QString strUtcTime utcTime.toString(format);QStringList timeList strUtcTime.split(-);quint8 year timeList.at(0).toInt();quint8 month timeList.at(1).toInt();quint8 day timeList.at(2).toInt();quint8 hour timeList.at(3).toInt();quint8 minute timeList.at(4).toInt();quint8 sec timeList.at(5).toInt();byte.append(year);byte.append(month);byte.append(day);byte.append(hour);byte.append(minute);byte.append(sec);return byte; }数据接收拆包 void unPack(const QByteArray byte, Protocol::UdpHeader header) {if(byte.size() ! UDP_HEADER_LEN){return;}memcpy(header,byte.data(),sizeof(Protocol::UdpHeader)); }3.大端数据收发 还是上面的头例子。 数据发送组包。 使用QDataStream类作为辅助设置setByteOrder为大端序列。 QByteArray packBigEndian(const Protocol::UdpHeader header) {QByteArray byte;QDataStream stream(byte,QIODevice::WriteOnly);stream.setByteOrder(QDataStream::BigEndian);stream(header.type);stream(header.num);stream(header.len);stream(header.srcAddr);stream(header.dstAddr);QString format yy-MM-dd-hh-mm-ss;QDateTime dateTime QDateTime::currentDateTime();dateTime.setTimeSpec(Qt::LocalTime);QDateTime utcTime dateTime.toUTC();QString strUtcTime utcTime.toString(format);QStringList timeList strUtcTime.split(-);quint8 year timeList.at(0).toInt();quint8 month timeList.at(1).toInt();quint8 day timeList.at(2).toInt();quint8 hour timeList.at(3).toInt();quint8 minute timeList.at(4).toInt();quint8 sec timeList.at(5).toInt();streamyear;streammonth;streamday;streamhour;streamminute;streamsec;return byte; }数据接收拆包。 对于多字节的数据都需要单独使用qToBigEndian转换为大端。 void unPackBigEndian(const QByteArray byte, Protocol::UdpHeader header) {if(byte.size() ! UDP_HEADER_LEN){return;}memcpy(header,byte.data(),sizeof(Protocol::UdpHeader));header.type qToBigEndian(header.type);header.num qToBigEndian(header.num);header.len qToBigEndian(header.len);header.srcAddr qToBigEndian(header.srcAddr);header.dstAddr qToBigEndian(header.dstAddr); }
http://www.sczhlp.com/news/199113/

相关文章:

  • 深圳营销型网站建设优化ui设计培训项目
  • 把一个网站挂到网上要怎么做有没有免费的网站软件
  • 衡阳市城市建设投资有限公司网站公众号文章排版编辑器
  • 长春做网站长春网站设计免费开商城网站
  • 网站开发运维机构设置淘宝美工
  • 网站建设项目的摘要房产中介 网站开发
  • 公司网站经典案例网站备案 人工审核
  • 网站建设完成后如何备案常州迅捷网络
  • 企业网站建设 南通苏州公司注册费用
  • wordpress getcategorylink产品介绍网站如何做seo
  • 沈阳市城市建设网站怎样加盟网站建设
  • 什么网站做ppt12316网站建设方案
  • 大城网站优化移动手机号码网站
  • 北京大型网站制作公司我在百度下的订单如何查询
  • 网站上面的内容里面放照片怎么做的wordpress 登录跳转
  • 苏州网站建设学费长春做网站公司
  • 营口市组织部两学一做网站网站制作算是什么专业
  • 如何手动构建一个线性回归模型
  • 贵港购物网站开发设计莱州木籽网络科技有限公司
  • 阜南网站建设公司新城区网站建设
  • 成都做整站优化网站开发教学大纲
  • 重庆做网站的公司网站内容设计
  • 公司主页网站怎么做微信小程序设计制作
  • 深圳建设集团网站首页wordpress的google字体
  • 网站备案名字要怎么写最近三天的新闻大事摘抄
  • 建设单位企业锁登陆网站网站关键词优化公司
  • 做三维特效的好网站游戏官网做的好的网站
  • 毕业设计答辩网站开发原理专业的营销型网站定制
  • 网站前台做哪些工作wordpress侧边栏主题
  • 网站开发各小组互评表广告公司简介简短大气