/*------------------------------------------------------------ 
函数名  :  TransData(CString  InStr,  PUCHAR  OutStr) 
功    能  :  将字符串转换成十六进制数据 
参    数  :  CString  InStr  [in]  输入字符串 
PUCHAR  OutStr  [out]  输出转换后数据的指针 
返回值  :  BOOL,正确返回TRUE,错误返回FALSE 
------------------------------------------------------------*/ 
BOOL  TransData(CString  InStr,  PUCHAR  OutStr) 
UINT                i  =  0,  j  =  0; 
UINT      len  =  0; 
UCHAR              Str[KEY_LEN  *  2]; 
len  =  InStr.GetLength(); 
if  ((len  %  2)  !=  0) 
MessageBox("请按要求输入!",  "错误",  MB_OK  |  MB_ICONERROR); 
return  FALSE; 
memset(OutStr,  0,  sizeof(UCHAR[KEY_LEN])); 
memset(Str,  0,  sizeof(UCHAR[KEY_LEN  *  2])); 
strcpy((char*)(Str),  InStr.GetBuffer(0)); 
InStr.ReleaseBuffer(); 
for(i  =  0;  i  <  len;  i++) 
if  ((Str[i]  >  47)  &&  (Str[i]  <  58)) 
Str[i]  -=  48; 
else  if  ((Str[i]  >  64)  &&  (Str[i]  <  71)) 
Str[i]  -=  55; 
else  if  ((Str[i]  >  96)  &&  (Str[i]  <  103)) 
Str[i]  -=  87; 
else 
MessageBox("数据格式错误!",  "错误",  MB_OK  |  MB_ICONERROR); 
return  FALSE; 
i  =  0; 
while(i  <  len) 
{  //  转换 
Str[j]  =  Str[i]  *  16  +  Str[i  +  1]; 
i  +=  2; 
j++; 
/*******************************************************************************************************************
/*******************************************************************************************************************
/*------------------------------------------------------------ 
函数名  :  TransData(CString  InStr,  PUCHAR  OutStr) 
功    能  :  将字符串转换成十六进制数据 
参    数  :  CString  InStr  [in]  输入字符串 
PUCHAR  OutStr  [out]  输出转换后数据的指针 
返回值  :  BOOL,正确返回TRUE,错误返回FALSE 
------------------------------------------------------------*/ 
BOOL  TransData(CString  InStr,  PUCHAR  OutStr) 
UINT                i  =  0,  j  =  0; 
UINT      len  =  0; 
UCHAR              Str[KEY_LEN  *  2]; 
len  =  InStr.GetLength(); 
if  ((len  %  2)  !=  0) 
16进制字符串转16进制数组
MessageBox("请按要求输入!",  "错误",  MB_OK  |  MB_ICONERROR); 
return  FALSE; 
memset(OutStr,  0,  sizeof(UCHAR[KEY_LEN]
)); 
memset(Str,  0,  sizeof(UCHAR[KEY_LEN  *  2])); 
strcpy((char*)(Str),  InStr.GetBuffer(0)); 
InStr.ReleaseBuffer(); 
for(i  =  0;  i  <  len;  i++) 
if  ((Str[i]  >  47)  &&  (Str[i]  <  58)) 
Str[i]  -=  48; 
else  if  ((Str[i]  >  64)  &&  (Str[i]  <  71)) 
Str[i]  -=  55; 
else  if  ((Str[i]  >  96)  &&  (Str[i]  <  103)) 
Str[i]  -=  87; 
else 
MessageBox("数据格式错误!",  "错误",  MB_OK  |  MB_ICONERROR); 
return  FALSE; 
i  =  0; 
while(i  <  len) 
{  //  转换 
Str[j]  =  Str[i]  *  16  +  Str[i  +  1]; 
i  +=  2; 
j++; 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。