本文目錄一覽:
- 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就會出問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/301503.html