最近项目用到了需要将字符串转换成16进制显示。这玩意折腾了一上午。

首先,数据块内容

struct UserData
{
char Head[3] = {'X','J','J'};
char Flag = '1'-'0x30';
char X_Position = '1'-'0x30';
char Y_Position = '@'-'0x30';
char Sum = Head[0] + Head[1] + Head[2] + Flag + X_Position + Y_Position;
}userdata;

  

我需要将这个结构体通过网口发送出去,然后并且在界面显示发送的数据内容,发送是简单了,但是显示就麻烦了。

我做了一下工作,可能存在不必要的内容。

第一步,拼接字符串,并将字符串转成成QString
  
  char temp[7];
temp[0] = userdata.Head[0];
temp[1] = userdata.Head[1];
temp[2] = userdata.Head[2];
temp[3] = userdata.Flag;
temp[4] = userdata.X_Position;
temp[5] = userdata.Y_Position;
temp[6] = userdata.Sum;
QString tt = temp;

第二步,将QString转成16进制的QByteArray,

QByteArray temp1 = tt.toLatin1().toHex();

第三步,添加空格

QByteArray temp2;
for(int i = 0; i < temp1.length()/2;i++)
{
temp2 += temp1.mid(i*2,2) + " ";
}
以上内容完成后,将可以将字符串一16进制的形式显示在界面上了,不过我目前这个代码里面还存在一个问题,组后多出一组数据来,不知道哪里来的。

												

Qt 将字符串转成16进制显示的更多相关文章

  1. string字符串转成16进制

    package util; public class EscapeUnescape { public static String escape(String src) { int i; char j; ...

  2. 解决nginx在记录post数据时 中文字符转成16进制的问题【转载】

    1. 问题描述 nginx 在获取post数据时候,如果是中文,则转换成16进制显示在日志文件中,如下图所示.   Paste_Image.png 日志格式为: log_format postdata ...

  3. Linux c字符串中不可打印字符转换成16进制

    本文由 www.169it.com 搜集整理 如果一个C字符串中同时包含可打印和不可打印的字符,如果想将这个字符串写入文件,同时方便打开文件查看或者在控制台中打印出来不会出现乱码,那么可以将字符串中的 ...

  4. java中如何将byte[]里面的数据转换成16进制字符串

    原文链接: http://zhidao.baidu.com/link?url=RmLDjr4PtP_oUE5J2pKNZSvlHt1K7HcCh4-03Y7VkXYhJ0kawg01CtKHZc2uB ...

  5. java 将数字转成成16进制

      java 将数字转成成16进制 CreationTime--2018年6月11日17点11分 Author:Marydon 1.前提 数字必须是byte类型,即[-128,127] 2.代码实现 ...

  6. ip地址转换成16进制long

    <span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param i ...

  7. pyserial 16进制显示与发送

    pyserial 16进制显示与发送 http://www.centoscn.com/python/2013/0817/1320.html 十六进制显示的实质是把接收到的字符诸葛转换成其对应的ASCI ...

  8. JS实现——Base64编码解码,带16进制显示

    在网上找了个JS实现的Base64编码转换,所以就想自己研究下,界面如下: 将代码以BASE64方式加密.解密 请输入要进行编码或解码的字符: 编码结果以ASCII码16进制显示 解码结果以ASCII ...

  9. 运用C语言将图片转换成16进制的字符串(base64)

    最近在写手机端的性能测试脚本的时候,发现手机在上传图片数据时,先将图片转换成一堆16进制的字符,将字符传输过去,服务器再将字符解码成图片 我们在loadrunner中测试时,就需要用C语言将图片编码. ...

随机推荐

  1. Apache PDFbox开发指南之PDF文档读取

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51542309 相关文章: <Apache PDFbox开发指南之PDF文本内容 ...

  2. 网络测量中基于Sketch方法的简单介绍

    Sketch介绍 为什么要用Sketch 网络流主要根据五元组.主机地址.包的大小来分类.在网络中存在各种各样的包,如果按照上述分类方法,对每一种包都分配一个计数器来储存,虽然测量准确,那么存放计数器 ...

  3. 字符型设备驱动程序-first-printf以及点亮LED灯(四)

    怎么样 把 写的 代码 和 编译 放到  开发板上 去执行? 2017年5月22日16:34:13 需要 自己 编译 Linux 内核.. 需要 以下 几个 条件: 1.正常运行 Linux 的 开发 ...

  4. MyBatis配置数据库连接

    <environments default="default"> <environment id="default"> <tran ...

  5. 设置eclipse默认编码格式

    Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window->Prefere ...

  6. ora.ctssd OBSERVER

    [grid@ydb1 ~]$ crsctl status res -t -init    ora.ctssd      1        ONLINE  ONLINE       ydb1       ...

  7. MySQL5.7.19 免安装配置 + Navicat for MySQL安装和破解(附全部资源)

    近段时间因为工作原因安装了好多次本地MySQL,安装过程也是时有曲折,索性记录一下. 环境: Win10 家庭版 MySQL5.7.19   (链接:https://pan.baidu.com/s/1 ...

  8. 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库

    Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...

  9. MySQL->复制表[20180509]

    MySQL复制表     通常复制表所采用CREATE TABLE .... SELECT 方式将资料复制,但无法将旧表中的索引,约束(除非空以外的)也复制.   完整复制MySQL数据表所需步骤: ...

  10. Redis 4.0.X版本reshard出现错误的解决办法

    原文链接:https://my.oschina.net/juluking/blog/1606222 原作者的版本是Redis 4.0.6,我的版本是4.0.8,所以猜测是否所有4.0.x版本都有此问题 ...