Название: перевод из одной кодовой страницы в другую Отправлено: roginovicci от Апрель 21, 2009, 19:18 Помогите разобраться как переводить текст из одной кодовой страницы в другую. Например из кои8 в утф8 и обратно, или из кои8 в цп1251.
Работа с строками не из main() так что QTextCodec не подходит, почему то он только из тела main работает. Не до конца понимаю почему. Пока что единственное, что приходит в голову - создание дочернего класса на базе QTextCodec... Название: Re: перевод из одной кодовой страницы в другую Отправлено: Rcus от Апрель 21, 2009, 19:30 /*потерял на мгновение да речи*/
...!!! что значит не из main? из WinMain? Или ваша система настолько необычна, что исполняемые модули имеют другую точку входа? у меня QTextCodec работают нормально, давайте вы покажете нам пример в котором его использование ведет к неожиданные недокументированным результатам. И нет, для использования таких распространенных кодировок как windows-1251, koi-8 и utf8 потомки QTextCodec не нужны Название: Re: перевод из одной кодовой страницы в другую Отправлено: lit-uriy от Апрель 21, 2009, 19:30 >>Работа с строками не из main() так что QTextCodec не подходит,
никакой привязки кодека к функции main не существует Название: Re: перевод из одной кодовой страницы в другую Отправлено: roginovicci от Апрель 22, 2009, 15:40 Я имел ввиду, что действия связанные с кодеком производятся не в теле main(). Вот что у меня происходит:
Код: #include "maindialog.h" Код: class MainFrame : public QDialog, private Ui::MainDialog maindlg.cpp|22|error: incomplete type `QTextCodec' used in nested name specifier| Название: Re: перевод из одной кодовой страницы в другую Отправлено: pastor от Апрель 22, 2009, 15:51 #include <QTextCodec>
? Название: Re: перевод из одной кодовой страницы в другую Отправлено: roginovicci от Апрель 22, 2009, 15:55 Оппа... стыдно мне :-[...
А удалять надо объект? Код: delete myTextCodec; Название: Re: перевод из одной кодовой страницы в другую Отправлено: spirit от Апрель 22, 2009, 16:09 не нужно его удалять таким образом,
Qt сама его убьет. если конечно ты его сам руками не создаешь, а получал через метод QTextCodec::codecForName и ему подобные. Название: Re: перевод из одной кодовой страницы в другую Отправлено: roginovicci от Апрель 22, 2009, 16:15 Да, получаю при помощи codecForName. т.е. таким образом я получаю указатель на объект созданный самой куте, да? Ведь я же не могу сам создать объект виртуального класса, верно?
Название: Re: перевод из одной кодовой страницы в другую Отправлено: spirit от Апрель 22, 2009, 16:16 ага, Qt сама его создаетб, сама и удаляет.
Название: Re: перевод из одной кодовой страницы в другую Отправлено: roginovicci от Апрель 22, 2009, 16:26 понял. Спасибо!
|