C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Unicode в Windows 9x, Преобразование unicode в ansi
gavmail
Отправлено: 17.06.2004, 10:24


Ученик-кочегар

Группа: Участник
Сообщений: 3



Фнкция:

CertNameToStr(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
&(pCertContext->pCertInfo->Subject),
CERT_X500_NAME_STR,
pbData,
255);

в pbData возвращает строку в юникоде.

В Windows 2000 и выше возвращаемое значение читаемо, а в Windows 9х — нет, т.к. она не умеет работать с юникодом.

Вопрос:
Как правильно конвертировать возвращаемую строку из юникод в ansi-строку?
olegenty
Отправлено: 17.06.2004, 11:06


Ветеран

Группа: Модератор
Сообщений: 2412



попробуй pbData объявить как wchar_t*, потом запихать в WideString, и только оттуда в AnsiString...
UA_Freeman
Отправлено: 18.06.2004, 15:55


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Вариант:
Можно сконвертировать строку из Unicode в Ansi функцией sprintf со строкой форматирования %S
gavmail
  Отправлено: 18.06.2004, 17:15


Ученик-кочегар

Группа: Участник
Сообщений: 3



Спасибо всем ... решение найдено ... если что — обращайтесь ...

Вернуться в Вопросы программирования в C++Builder