欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

16进制和字符串的相互转换

程序员文章站 2024-03-16 22:53:16
...

```c
char ptmp[128];
void strtohex(char *in, u8* out)
{
	int lengthp = 0;
	int lengthtmp = 0;
	int i = 0;
	memset(ptmp, 0, sizeof(ptmp));
	memset(out, 0, 57);
	lengthp = strlen(in);
	for (i = 0; i < lengthp; i++)
	{
		if (in[i] <= '9')	ptmp[i] = in[i] - '0';
		else if (in[i] > 'Z') ptmp[i] = in[i] - 'a' + 10;
		else ptmp[i] = in[i] - 'A' + 10;
	}
	for (i = 0; i < lengthp / 2; i++)
	{
		out[i] = (ptmp[i * 2] * 16) + ptmp[i * 2 + 1];		
	}
}
void hextostr(char*in, int len, u8* out) 
{
	char getdatatmp[3];
	int i = 0;
	memset(out, '\0', 57);
	for (i = 0; i < len; i++)
	{
		memset(getdatatmp, 0, sizeof(getdatatmp));
		sprintf(getdatatmp, "%02x", (unsigned char)in[i]);
		memcpy(&out[i * 2], getdatatmp, 2);
	}
}

相关标签: C++ C 字符串

上一篇: 扫雷游戏

下一篇: 约瑟夫环问题