Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Определение кодировки
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
lioncub
1. Как определить в какой кодировке текстовый файл (CP1251, UTF-8 ) для последуещего открытия в textEdit?
2. Как открыть текстовый файл в любой кодировке ((CP1251, UTF-8 ) и сохранить в ней же?

ps у меня система в utf8
ViGOur
Глянь: QTexTransformer, там есть исходники, хоть и для Qt 3, но думаю общая идея будет понятна и перенести на Qt 4 не составит проблем.

Просьба, как напишешь можешь выложить, здесь? Просто это популярный вопрос, и пока нормального исходника для Qt 4 я не видел. За одно и на сайт в раздел исходников можно будет положить...
Litkevich Yuriy
как я понимаю, по этому поводу создано некоторое кол-во библиотек, которые анализируют "текст" и пытаются определить кодировку.
lioncub
у кого-нибудь есть ui от QTexTransformer?

А кто пробовал QTextCodec * QTextCodec::codecForHtml ? С текстом он работает или на оновании тэгов?

зы плохо, что тут невозможно редактировать сообщения
Litkevich Yuriy
Цитата(lioncub @ 11.11.2009, 13:28) *
А кто пробовал QTextCodec * QTextCodec::codecForHtml ? С текстом он работает или на оновании тэгов?
для каких целей?

Цитата(lioncub @ 11.11.2009, 13:28) *
зы плохо, что тут невозможно редактировать сообщения
наберёшь 20 сообщений сможешь

вот это творение умеет определять кодировку автоматом, может из него выдернуть
Kagami
KWrite и Kate в KDE4 умеют автоматом определять кодировку
lioncub
Litkevich Yuriy,
Цитата
Tries to detect the encoding of the provided snippet of HTML in the given byte array, ba, and returns a QTextCodec instance that is capable of decoding the html to unicode.


как детектор
Litkevich Yuriy
lioncub, в HTML предусмотрены специальные тэги, я думаю он по ним ориентируется.
Гость
Цитата
Codecs Example
The Codecs example demonstrates the principles behind importing and exporting text using codecs to ensure that characters are encoded properly, avoiding loss of data and retaining the correct symbols used in various scripts.
тут, оно?
Litkevich Yuriy
Этот пример не имеет автоопределения кодировки
lioncub
выяснил, что QTexTransformer имеет корни с xcode
novichkov
Я в Linux использовал программу enca - через QProcess. Более-менее работало.
Rocky
Цитата(novichkov @ 11.11.2009, 19:33) *
выяснил, что QTexTransformer имеет корни с xcode

угу, и с iconv...
Все исходники просмотрел, нашел только вот
QString auto_detect (const QString &filename, bool iconvret )
{
    QString com_enca("enca");

    if (iconvret) com_enca += " -i '"+filename+"'";
    else com_enca += " -e '"+filename+"'";
    
    FILE *enca = popen( com_enca.local8Bit(), "r");
    char outstr[80];
    fgets(outstr, 80, enca);
    pclose(enca);
    QString cp( outstr );
    cp = cp.stripWhiteSpace();
    int pozslash;
    if ( (pozslash = cp.find( '/' )) != -1 )
    cp = cp.left( pozslash );
    return cp;
}

Так что автоопределение тут на основе enca... Боюсь если разбирать gedit или kate (у них есть автоопределение) то там тоже либо в нее либо в iconv упрется ( Блин, а вот исходники для enca чет не найти ( Сайт ее разобран щас вроде как (
kwisp
Цитата(Rocky @ 26.2.2010, 21:55) *
Блин, а вот исходники для enca чет не найти ( Сайт ее разобран щас вроде как (

у меня есть если надо на мыло могу выслать.
сюда не могу выложить то tar.bz2 не нравится то размер большой.
Rocky
Было бы здорово ) Хотел у тебе в личку свою почту написать.. но не нашел кнопки "написать сообщение" ((
kwisp
напиши тут почту свою я тебе отправлю письмо.

П.С.
под моим именем слева разве нет опции профиля->отправить сообщение?
Rocky
я в личку отписался ) нашел-таки) Давно никому ничего не писал, уже забыл где эта кнопка...
shalunya
а мне можно тоже исходники, плиз?
очень надо :blush:
kwisp
shalunya, выбирай
shalunya
Цитата(kwisp @ 15.10.2010, 14:46) *
shalunya, выбирай

Спасибо!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.