本文目录一览:
- 1、c语言 二进制的byte数组转化为int数组
- 2、c语言,BYTE数组如何转为string
- 3、C语言 16进制的字符串“000100010019” 转化成Byte byte[6] = {0x00, 0x01, 0x00, 0x01, 0x00, 0x19}
- 4、C语言中将一个字节数据转换成对应十进制数字字符串
- 5、C语言2进制转字符问题
- 6、C 字节数组转换成字符串
c语言 二进制的byte数组转化为int数组
如果byte里面保存的是数值,那么你可以调整顺序(低位在前,高位在后)之后,通过memcpy直接转换:
memcpy(intVar, byteArray, sizeof(int));
如果byte保存的是数字的字符,那么你需要进行转换,具体如何转换,要看byte里面保存的是什么格式了。
c语言,BYTE数组如何转为string
直接 str = a 不过这样并不安全 可能根本不会出现\0这样的
但你可以再弄一个 b[11]的数组 再把a赋给b把b[11]='\0'
然后 str = a;
C语言 16进制的字符串“000100010019” 转化成Byte byte[6] = {0x00, 0x01, 0x00, 0x01, 0x00, 0x19}
ANSI C中貌似没有Byte吧? 下述代码中用typedef定义其为unsigned char,如果你用的C编译器中已经有Byte的定义,去除typedef那行就好了。
基本算法就是从字符串的最左端开始,每两个字符组成一个Byte,存储到byte数组的合适位置。
#include stdio.h
typedef unsigned char Byte;
void s2bytes(char *str, Byte *r)
{
int i=0;
Byte b;
while(*(str+i)!='\0')
{
b=(*(str+i)-'0')*16+ *(str+i+1)-'0';
i+=2;
*r++=b;
}
}
int main()
{
char str[]="000100010019";
Byte ba[6];
int i;
s2bytes(str, ba);
for(i=0; i6; i++)
printf("%x ", ba[i]);
printf("\n");
return 0;
}
C语言中将一个字节数据转换成对应十进制数字字符串
#include stdio.h
int Bin2Dec(char bin[]) {
int i,num = 0;
for(i = 0; bin[i]; ++i) {
if(bin[i] = '0' bin[i] = '1')
num = 2 * num + bin[i] - '0';
}
return num;
}
int main() {
char s[5][20] = {"0010000","1101001001010","111000101010101","1101001001001010","10101000010101"};
int i;
for(i = 0; i 5; ++i)
printf("%20s : %d\n",s[i],Bin2Dec(s[i]));
printf("\n完成!\n");
return 0;
}
C语言2进制转字符问题
#include stdio.h
#include stdlib.h
int ByteToBit(char ch, char bit[8])
{
int cnt;
for(cnt = 0;cnt 8; cnt++)
{
*(bit+cnt) = (chcnt)1;
}
return 0;
}
int BitToByte(char bit[8],char *ch)
{
int cnt;
*ch = 0;
for(cnt = 0;cnt 8; cnt++)
{
*ch |= *(bit + cnt)cnt;
}
return 0;
}
int main()
{
int i;
int ByteToBit(char ch, char bit[8]);
int BitToByte(char bit[8],char *ch);
char b[8];
char c,s,*f;
f=s;
scanf("%c",c);
ByteToBit(c,b);
for(i=0;i8;i++)
{
printf("%d ",b[i]);
}
BitToByte(b,f);
printf("\n%d\n",s);
return 0;
}
你的代码有问题, 我已经给你改了, 你自己对比一下吧.
C 字节数组转换成字符串
你说的bytes数组是指的什么?仍然是asc编码吗?如果是这样,那你后面是可以用strcpy的。strcpy就是按字节复制。
另外,定义字符串默认都是按照asc或者gb2312来存储的,这种编码都对单字节进行操作。如果是unicode,那么这就需要转换了,这时候再使用strcpy就会出问题。