C 字节数组转换成字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 字节数组转换成字符串相关的知识,希望对你有一定的参考价值。
Java和C语言的串口通信中,Java把字符串:"we have 3 apples"转换成bytes数组发送。C语言接收到bytes数组,存在 *buf里。如何把*buf 中的字节数组转换成原先的字符串:"we have 3 apples", 然后存在*a 这个数组中?
*buf里存的是将we have 3 apples转换成ASCII码,然后再转换成2进制数的数组。strcpy可以直接将二进制数转换成字符么?
另外,定义字符串默认都是按照asc或者gb2312来存储的,这种编码都对单字节进行操作。如果是unicode,那么这就需要转换了,这时候再使用strcpy就会出问题。 参考技术B 什么东西,那些不是十六进制数吗?怎么个对应法则?两个字符转换成一个十六进制数?
你就看相应的大写字母乘以16和相应的十六进制数差几嘛,减掉再加上相应的数字,存到数组中去,输出的时候再按十六进制输出就好啦,哎,或者直接strcat()更安逸,又或者用sprintf()貌似也行 参考技术C 转换成字节发送……什么语言可以不用流发送字符串?
存在buf里buf就是你要的字符串!你去printf("[%s]\n",buf);看看吧,也许后面没有结尾,不过是小问题。 参考技术D byte 是 unsigned char.
unsigned char buf[]="we have 3 apples";
char a[50];
strcpy(a,buf);
printf("%s\n",a); 第5个回答 2010-08-21 char s[25];
CString str;
sprintf(str,"%s",s);
用sprintf可以进行转化!!
以上是关于C 字节数组转换成字符串的主要内容,如果未能解决你的问题,请参考以下文章