преобразование массива байтов в кодировку UTF-8 - PullRequest
0 голосов
/ 08 января 2011

У меня есть файл, сохраненный как UTF-8, и я читаю его так:

ReadFile(hFile, pContents, pFile->nFileSize, &dwRead, NULL);

(pContents - это байт * размера nFileSize)

это простоНебольшой файл со 100 байтами или около того, содержит текст, который я хочу прочитать в память в формате wchar_t *, так что я могу установить текст редактирования и статические элементы управления с текстом Unicode.

Как я могу преобразовать байты в UTF-8?

edit (я не хочу использовать fstream или wfstream)

Ответы [ 3 ]

6 голосов
/ 08 января 2011
3 голосов
/ 09 января 2011

Если файл находится в UTF-8 и вы читаете его в массив.
Тогда он все еще в формате UTF-8, и вам не нужно ничего делать.

1 голос
/ 08 января 2011
int res2 = WideCharToMultiByte(CP_UTF8, 0, tempBuf.c_str(), -1, 
                               multiByteBuf, lengthOfInputString, NULL, NULL);
int res = MultiByteToWideChar(CP_UTF8, 0, buf, -1, wcharBuf, lengthOfInputString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...