现在的位置: 首页 > 综合 > 正文

乱码转常码

2018年02月08日 ⁄ 综合 ⁄ 共 815字 ⁄ 字号 评论关闭
char int2char(int nData)
{
	switch(nData)
	{
	case 0:		return '0';
	case 1:		return '1';
	case 2:		return '2';
	case 3:		return '3';
	case 4:		return '4';
	case 5:		return '5';
	case 6:		return '6';
	case 7:		return '7';
	case 8:		return '8';
	case 9:		return '9';
	case 10:	return 'A';
	case 11:	return 'B';
	case 12:	return 'C';
	case 13:	return 'D';
	case 14:	return 'E';
	case 15:	return 'F';
	}
}


char char2int(char c)
{
	if(c>='A' && c<='Z')
		return c - 'A' + 10;
	else if(c>='a' && c<='z')
		return c - 'a' + 10;
	else
		return c - '0';
}


unsigned char Hex2Char(char c1,char c2)
{
	return (char2int(c1)*16 + char2int(c2));
}

bool Hexs2Chars(char *szData,int nLen,BYTE *btData)
{
	if(nLen%2 != 0)
		return false;
	for(int i=0;i<nLen/2;i++)
	{
		btData[i]	= Hex2Char(szData[i*2],szData[i*2+1]);
	}
	return true;
}

bool Chars2Hexs(BYTE *btDecBuf,int nLen,char *szData)
{
	for(int i=0;i<nLen;i++ )
	{
		szData[i*2] = int2char(((int )btDecBuf[i])/16);
		szData[i*2+1] = int2char(((int )btDecBuf[i])%16);
	}
	return true;
}

抱歉!评论已关闭.