字符串转16进制

来源:互联网 发布:java多线程发送短信 编辑:程序博客网 时间:2024/06/03 14:13

static int char2hex(char *src,unsigned int *hex, int len)

{

if(len > 8)

{

debug_printf("the length of char is too large\n");

return -1;

}

int i,j;

*hex = 0;

for(i = 0;i < len; i++)

{

        j = len - i - 1;

*hex &= (~(0xf << (j*4)));

if((src[i]>='0') && (src[i]<='9'))

{

*hex |= (src[i]-0x30) << (j*4);

}

else if((src[i]>='a') && (src[i]<='z'))

{

*hex |= (src[i]-0x57) << (j*4);

}

else if((src[i]>='A') && (src[i]<='Z'))

{

*hex |= (src[i]-0x37) << (j*4);

}

}

// debug_printf("get char:%s h:%x\n", src, *hex);

return 1;

}

原创粉丝点击