关于将16进制的数据存放在char数组中的问题的解决方案

首先说明一点,题目提到的问题我目前并没有解决,我在此处发表随笔就是希望看到的同学们有会的帮我解决一下。

现在来说一下我的需求:

1、定义一个数组:unsigned char cmd[6] = {0xF0,0x11,0x01,0x65,0x87,0xA9};

2、然后将这个数组的数据写入串口中,我在写的时候发现了cmd中的数据出现了乱码的现象,于是我采用下面一种方法;

3、使用sprintf函数,于是有了下面的代码:

1 char pBuf[9];
2 sprintf(pBuf,"%x %x %x %x %x %x",0xF0,0x11,0x01,0x65,0x87,0xA9);

然后这样写了之后cmd中呈现的就是一个字符串了。

这样的方法是不是相当于把16进制的数据存放到了char数组中了啊?

具体的我要的功能还没有实现,是不是这里卡住了,希望有大神给予帮助,将不甚感激!!!

时间: 2024-10-29 08:49:00

关于将16进制的数据存放在char数组中的问题的解决方案的相关文章

python socket以16进制的数据进行传递与解析

参考:http://m.blog.csdn.net/blog/JasonQue/8256424 具体的struct模块的解释可以参照上面的链接. struct.pack也就是将数据按照二进制的格式进行传输 #!/usr/bin/env python #coding:utf-8 __author__ = 'ferraborghini' from socket import * import struct #将16进制数据当做字节流传递 def dataSwitch(data): str1 = ''

太有用了,所以转:Delphi下16进制位图数据转位图

如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: object Image1: TImage Left = 536 Top = 24 Width = 105 Height = 105 Picture.Data = { 07544269746D61703E040000424D3E0400000000000036000000280000000700 00002B0000000100180000000

16进制数据流转换成C语言数组

在开发中经常遇到以下情况,通过一些工具捕获的16进制数据,应用到代码中,比如通过Wireshark抓获的数据包,观察到的程序内存数据. 但是在开发时,不能直接使用这些数据,需要转换如下样子,才可以在代码中使用: 我写了一个小工具,可以将二进制数据流转换成数组,代码如下: // FileNameToArray.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include

java wireshark 16进制复制的字符串转换字节数组

String a="880a4336fd85a87ef39cfaa8c072d8899578d9c4c409ea78161edd41b52f96f377bf162a1bfd4be8e90022354a983d3c426bf34439719c89407ca706449171413dd6e08cb9792ba8965227e6df8e182d1821f67758b7309bc7d6dce1593c07fbb0c85e50c0ef3c04a4acf9ed09f7126b96b7fc1dbbe45fc3

QT 串口通信 数据16进制发送

在QT中进行串口通信时,很多情况要用到发送16进制的数据.从网上找来了一段代码测试能用: static QByteArray QString2Hex(QString str) { QByteArray senddata; int hexdata,lowhexdata; int hexdatalen = 0; int len = str.length(); senddata.resize(len/2); char lstr,hstr; for(int i=0; i<len; ) { hstr=st

C# 16进制与字符串、字节数组之间的转换

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+Con

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化             --------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解            string s = "我是一个2兵";            int len = s.Length;//6个字符              byte[] sarr = System.Text.Encoding.Default.GetBytes(s);            len =

C# 16进制与字符串、字节数组之间的转换(转)

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串   //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+C

C#串口通讯,16进制与字符串、字节数组之间的转换。

1.将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));//十进制转八进制Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));//十进制转十六进制Console.WriteLine("十进制166的十六进制表示: "+Convert.ToStrin