Re[6]: AT-комманда +CPBR и русские буковки
От: AndreySol  
Дата: 03.09.11 16:05
Оценка:
Здравствуйте, 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", т.е. русские буквы не отображаются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.