C语言字符串和十六进制的相互转换方式-程序员宅基地

技术标签: java  c/c++  

C语言的字符串操作并不像java,Csharp那样提供直接的方法,简单粗暴。所以,在转换的时候往往费力费时,近日做项目正好用到和java程序通讯,java发送过来的数据是十六进制数字组成的字符串,解析的时候颇费心思才算完成,所以,权在此做一笔记,方便以后查看,以及需要帮助的童鞋,当然,有问题欢迎随时交流,一同进步,欧耶!~

一、将数组转换为十六进制同值的字符串

   读取数组中的数字,打印成字符串的时候以2位大写的格式。

 1 int arrayToStr(unsigned char *buf, unsigned int buflen, char *out)
 2 {
 3     char strBuf[33] = {
    
     0};
 4     char pbuf[32];
 5     int i;
 6     for(i = 0; i < buflen; i++)
 7     {
 8         sprintf(pbuf, "%02X", buf[i]);
 9         strncat(strBuf, pbuf, 2);
10     }
11     strncpy(out, strBuf, buflen * 2);
12     printf("out = %s\n", out);
13     return buflen * 2;
14 }

二、将十六进制的字符串转换为十六进制数组

下面定义的字符串中的字符只能是0-F的字符,但是不区分大小写的,前面是安装两位为一个数字进行转换,最后一个数字如果还是两位的则正常转换,如果只剩一位的话则在前面补零输出。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a2196779/article/details/101918724

智能推荐

C++笔记(iostream,namespace)_使用iostream就得添加命名空间,就是第二句话、-程序员宅基地

文章浏览阅读475次。#include 是个包含命令,就是把iostream.h这个文件里的内容复制到这个地方iostream.h是input output stream的简写,意思为标准的输入输出流头文件。它包含: (1)cin&gt;&gt;"要输入的内容" (2)cout&lt;&lt;"要输出的内容" 这两个输入输出的方法需要#include&lt;iostream.h&gt;来声明头文件。 iostr..._使用iostream就得添加命名空间,就是第二句话、

当当云阅读云书房电子书内容提取爬虫_当当云阅读的书可以导出来吗-程序员宅基地

文章浏览阅读9k次,点赞7次,收藏20次。一、引言​ 根据相关法律法规,为了保护作者及版权方的正当权益,当当网电子书目前在PC端不支持下载功能,只能在线阅读。若您订购的电子书支持iPhone、iPad、Android、E-ink设备阅读,请您使用当当读书客户端登陆您的当当账户,之后点击页面左上角图书下载按钮,之后页面中会显示您已购买未下载的图书,请您点击下载即可。​ 当当云阅读是当当网旗下的电子书阅读平台,具有丰富的正版图书资源。为了保护读物作者和版权方的正当权益,应最大限度地防止相关电子书在互联网上非法传播。当当云阅读在PC端不支持下_当当云阅读的书可以导出来吗

Linux升级openSSH到8.8用以解决openSSH安全漏洞问题_cve-2020-14145-程序员宅基地

文章浏览阅读4.9k次。升级openssh到8.4用以解决openSSH一下安全漏洞问题OpenSSH 安全漏洞(CVE-2020-14145)OpenSSH 安全漏洞(CVE-2018-15919)OpenSSH 安全漏洞(CVE-2017-15906)OpenSSH 安全漏洞(CVE-2018-15473)_cve-2020-14145

python中valueerror是什_在python中打印时出现ValueError-程序员宅基地

文章浏览阅读601次。你的排列方式不对。把它们调换一下,一切都会好起来的。>>> from matplotlib import pyplot as plt>>> import numpy as np>>> x = np.array(range(1,129))>>> y = np.random.rand(14,128)>>> plt..._valueerror: expected model output height to be 1

Scikit-learn:最近邻搜索sklearn.neighbors_无法从sklearn.neighbors中加载distancemetric-程序员宅基地

文章浏览阅读2.5w次,点赞9次,收藏30次。http://blog.csdn.net/pipisorry/article/details/53156836ball treek-d tree也有问题[最近邻查找算法kd-tree ]。矩形并不是用到这里最好的方式。偏斜的数据集会造成我们想要保持树的平衡与保持区域的正方形特性的冲突。另外,矩形甚至是正方形并不是用在这里最完美的形状,由于它的角。如果图6中的圆_无法从sklearn.neighbors中加载distancemetric

TL-WR720N(V3)刷OpenWrt作打印服务器_720n打印服务器刷机-程序员宅基地

文章浏览阅读1.8w次,点赞7次,收藏35次。注:需将拨动开关设置在“3G”位置处,OpenWrt才能检测到接入大USB插口的设备;否则,该USB插口只做5V电源输出之用。..._720n打印服务器刷机

随便推点

python调用C++(仅限函数),ctypes调用so文件注意事项_python c++ so 依赖-程序员宅基地

文章浏览阅读3k次。单个.c文件生成.so:cd /d D:\Program Files (x86)\MinGW\bingcc "D:\VisulStudio\gccSPA\gccSPA\SolarPosAngle.c" -fPIC -shared -o "D:\VisulStudio\gccSPA\gccSPA\gccSPA.so"python中调用from ctypes import *aimHand..._python c++ so 依赖

用EXECEL的VBE编写小学混合加减法自动习题集_exl 使用vb做一个加减法程序-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏4次。 用EXECEL的VBE编写小学混合加减法自动习题集 虽然不用VBE也能够只用EXECEL表格做出加减法自动习题。但是有一个弊端,只要在表格任意单元格上按了回车键,或者退格键,整个表格都会刷新,因此根本不适合在电脑上答题,而只能把表格打印出来手填答题。 因此,考虑用VBE编写一个。 对于小学一年级的小朋友来说,要限制在20以内的加减法运算,因此程序上要做一定的边界值判断。别的..._exl 使用vb做一个加减法程序

AI+游戏线下沙龙活动暨COC上海城市开发者社区8月活动_ai+游戏技术研讨会-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏2次。在会议中,大家分享了自己在AI+游戏方面的技术实践、经验,以及自己关于AI+游戏的独到见解,并就AI+游戏的发展趋势、技术应用、商业模式等方面进行了深入的探讨和交流。最后,分享将总结LLM在游戏AI智能体上的应用,并展望未来的发展。沈老师的演讲主题:语音合成技术虽然不是当下最热门的AIGC领域,但是语音作为最为自然的人机交互界面仍是下一个时代不可或缺的重要工具,科技界目前在TTS领域非常活跃,新模型层出不穷,并且不乏有语音大模型的尝试,此次我会向大家汇报一些我们在当下工程可用的TTS技术上的实践和挑战。_ai+游戏技术研讨会

iis html php code,在IIS怎样设置php程序用html形式来进行访问?-程序员宅基地

文章浏览阅读87次。匿名用户1级2008-03-16 回答apache_2.0.55-win32-x86-no_ssl.msiphp-5.1.2-Win32.zip一将PHP文件包解压到D:\PHP,可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。在D:\PHP目录中找到php.ini-recommended,并更名为p..._windows iis 服务怎么将php文件映射成html

hdu 1228-A+B_读入两个小于100的正整数a和b,计算a b。需要注意的是:a和b的每一位数字由对应的英-程序员宅基地

文章浏览阅读4.7k次。A+B 字符串转化为数字_读入两个小于100的正整数a和b,计算a b。需要注意的是:a和b的每一位数字由对应的英

Oracle dblink查看、创建、删除_oracle查看dblink-程序员宅基地

文章浏览阅读7.6w次,点赞4次,收藏25次。1.查看dblinkselect owner,object_name from dba_objects where object_type='DATABASE LINK';或者select * from dba_db_links;2.创建dblink前提: 创建dblink的用户有对应的数据库权限 create p_oracle查看dblink

推荐文章

热门文章

相关标签