Здравствуйте, kiborg, Вы писали:
K>Результат то хоть есть?
Есть, вот только ....
Переделал код
#define HEXToInt(ch) (BYTE)(((ch) > '9') ? ((ch) - 55) : ((ch) - '0'))
CString HexCharToString(CString strToConvert)
{
CString strReturn = _T("");
unsigned int data;
wchar_t buf;
char chNext;
for(int i = 0; i < strToConvert.GetLength(); i = i+4)
{
//buf = *str[i];
chNext = strToConvert.GetAt(i);
data = HEXToInt(chNext);
chNext = strToConvert.GetAt(i+1);
data = (wchar_t)((data << 4) | HEXToInt(chNext));
chNext = strToConvert.GetAt(i+2);
buf = HEXToInt(chNext);
chNext = strToConvert.GetAt(i+3);
buf = (wchar_t)((buf << 4) | HEXToInt(chNext));
strReturn += (wchar_t)((data << 8) | buf);
}
return strReturn;
}
CString str = _T("0421041F042004100412041A04100020004D00540053");//"СПРАВКА MTS"
MessageBox(HexCharToString(str),"",0);
результат — "кракозяблики MTS", т.е. русские буквы не отображаются.