Russian Qt Forum
Ноябрь 24, 2024, 11:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Автовыбор кодировки текстового файла  (Прочитано 1342 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Октябрь 06, 2016, 10:16 »

Нужно определить кодировку файла

Код:
 QByteArray filedata = file.readAll();
    QTextCodec::ConverterState state;
    QTextCodec* codec = QTextCodec::codecForName(fileFormat.toLatin1()); // fileFormat = "UTF-8", "CP-1251"...
    if(!codec) continue;
    const QString text = codec->toUnicode(filedata.constData(), filedata.size(), &state);
    if (state.invalidChars == 0)  return text; }
}

Для файлов с UTF-8 прокатывает, а для cp1251 state.invalidChars == количеству русских символов, хотя считал строку правильно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.