如何将ASCII转换成十六进制
1个回答
展开全部
void AsciiToBcd(CString cs,unsigned char * p, int nlength/*字符串长度*/)
{
while(cs.GetLength()<nlength)
cs="0"+cs;
for(int i=0;i<nlength/2;i++)
//*(p+i)=(cs.GetAt(i*2)-0x30)*16+(cs.GetAt(2*i+1)-0x30);
*(p+i)= chrToNum(cs.GetAt(i*2))*16+chrToNum(cs.GetAt(2*i+1));
}
int chrToNum(int u)
{
u = toupper(u);
if((u>='A' && u<= 'F'))
{
u = u - 'A' + 10;
}
else if(u>='0' && u<= '9')
{
u = u - '0';
}
else
{
u=0;
}
return u;
}
{
while(cs.GetLength()<nlength)
cs="0"+cs;
for(int i=0;i<nlength/2;i++)
//*(p+i)=(cs.GetAt(i*2)-0x30)*16+(cs.GetAt(2*i+1)-0x30);
*(p+i)= chrToNum(cs.GetAt(i*2))*16+chrToNum(cs.GetAt(2*i+1));
}
int chrToNum(int u)
{
u = toupper(u);
if((u>='A' && u<= 'F'))
{
u = u - 'A' + 10;
}
else if(u>='0' && u<= '9')
{
u = u - '0';
}
else
{
u=0;
}
return u;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询