Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Определение кодировки символов


Автор: world 2.10.2009, 18:44
Доброе время суток уважаемые форумчане,

Столкнулся с такой проблемой. Имеется буфер символов, прочитанных из файла. Необходимо определить их кодировку ANSI/Unicode

Код

FILE *f = fopen ("example.txt", "r");
if (f)
{
   int l = filelength (fileno (f));
   wchar_t* buf = new wchar_t [l];
   fread (buf, l, 1, f);
}


Заранее спасибо.

Автор: psixtes 2.10.2009, 21:20
Каждый символ юникода занимает 2 байта, а Анси- 1 байт.
Вот так и проверяешь.

Автор: world 3.10.2009, 10:23
to psixtes:

Абсолютно с вами согласен, но весь вопрос в том, как это сделать. Количество символов в файле не известно, по этому функцию IsTextUnicode применить не возможно, т.к. она требует в качестве одного из параметров количество символов  в строке. Какие есть ещё способы проверки на кодировку символа?

Автор: zim22 3.10.2009, 11:00
Цитата(world @  3.10.2009,  10:23 Найти цитируемый пост)
Какие есть ещё способы проверки на кодировку символа?

http://www.codeguru.com/forum/showpost.php?p=1872771&postcount=2

Автор: world 3.10.2009, 11:52
Огромное спасибо за помощь в решении проблемы. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)