locale и koi8-r
От: Аноним  
Дата: 17.09.02 13:14
Оценка:
Народ, как конвертировать строку из формата koi8-r?
Например, строка "абв" выглядит в koi8-r как c1 c2 d7 ("БВЧ")
а надо e0 e1 e2, т.е. "абв"
Попробовал так:
  CPINFOEX cpinfo;
  BOOL res = GetCPInfoEx(20866, 0, &cpinfo);
  res = GetCPInfoEx(20866, 0, &cpinfo);
  cout << cpinfo.CodePage <<" "<< cpinfo.CodePageName << endl;    
  //-------------------------
  WORD landId = MAKELANGID(LANG_RUSSIAN, 0x01);
  LCID lcId = MAKELCID(landId, SORT_DEFAULT);
  char destBuf[4], srcStr[4] = "БВЧ";
  int writteninclnull;
  //как подставить localeId для koi8-r?? Может вообще все это неправильно?
  writteninclnull = LCMapString(lcId, LCMAP_HALFWIDTH, srcStr, 4, destBuf, 4);
  if(writteninclnull = 0)
    Error(GetLastError());
  cout << destBuf << endl;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.