С логикой проблемы не менее multibytetowidechar
iam преобразует некоторую строку ANSI на иврите в строку unicode с помощью
следующая методика:
nSize = MultiByteToWideChar(nlanguageCodePage, 0, chAnsiBuff, -1, NULL, 0);
MultiByteToWideChar(nlanguageCodePage, 0, chAnsiBuff, -1, chUniocodeBuff, 512);
у меня есть иврит - (кодовая страница windows 1255), так что я получу 1255 .... если какие-либо ненужные символы есть в ansi, он будет dispalay correclty в unicode ?
что именно это будет делать ( то есть первый параметр будет делать, если я буду определять иврит по-прежнему его преобразование proeprly)
пожалуйста, дайте мне знать, почему он не работает
Что я уже пробовал:
//CONVERTING TO UNICODE nSize = MultiByteToWideChar(nlanguageCodePage, 0, chAnsiBuff, -1, NULL, 0); MultiByteToWideChar(nlanguageCodePage, 0, chAnsiBuff, -1, chUniocodeBuff, 512); // bom at starting if (nBOM == 0) { arcOut.Write(&bom, 2); } arcOut.WriteString(chUniocodeBuff);
Richard MacCutchan
Что "не работать" значит?
И почему вы используете фиксированный размер 512 во втором вызове, а не значение, возвращаемое в nSize
?
И почему вы не проверяете возвращаемое значение во втором вызове?
Member 12677926
это нормально ...я пробовал с этим ... моя проблема не в том, чтобы получить желаемый вывод ...правильная строка в файле unicode hebrew