Unicode в QtUnicode - многобайтовый набор символов, переносимый между всеми основными компьютерными платформами и с подходящим для охвата всего мира. Локаль имеется также одна; не включает кодовые страницы или другие сложности, которые затрудняют написание и тестирование программного обеспечения. Не существует другого достаточно кроссплатформенного набора символов. По этим причинам Unicode 4.0 используется в качестве собственного набора символов Qt. Классы Qt для работы со строкамиЭти классы важны при работе со строковыми данными. Информацию об отрисовке текста смотрите в обзоре Обработка форматированного текста, а если вашими строковыми данными являются XML, смотрите обзор Обработка XML.
Информация о Unicode в сетиУ Unicode Consortium имеется некоторое доступных количество документов, включая СтандартТекущая версия стандарта - Unicode 5.1.0. Предыдущие опубликованные версии спецификаций:
Unicode в QtВ Qt, и в большинстве использующих Qt приложений,большая часть или все строки, доступные пользователю, сохраняются с использованием Unicode. Qt предоставляет:
Для получения всех выгод Unicode, мы рекомендуем использовать QString для хранения строк, доступных пользователю, и выполнять все операции ввода/вывод текстовым файлом используя QTextStream. Используйте QKeyEvent::text() для ввода с клавиатуры в любом пользовательском виджете, который создадите; это не имеет большой разницы для медленно набирающих людей в Западной Европе или Северной Америке, но для быстро набирающих людей или людей, использующих специальные методы ввода, использование text() полезнее. Все аргументы функции в Qt, которые могут быть строками, доступными пользователю, QLabel::setText() и многие другие, получают объекты const QString &. QString предоставляет неявное приведение типов из const char *, так что такие вещи label->setText("Password:"); будут работать. Также имеется функция, QObject::tr(), которая предоставляет поддержку перевода, например так: label->setText(tr("Password:")); QObject::tr() отображает из const char * в строку Unicode, и использует устанавливаемые объекты QTranslator для выполнения отображения. Qt предоставляет некоторое количество встроенных классов QTextCodec, то есть, классов, которые знают как преобразовывать между Unicode и устаревшими кодировками для поддержки программ, которые должны сообщать другим программам или читать/записывать файлы в устаревших файловых форматах. По умолчанию, преобразование в/из const char * использует кодек, не зависящий от локали. Однако, приложения могут легко найти кодеки для других локалей и установить любому открытому файлу или сетевому соединению использование специального кодека. Можно также установить новые кодеки для преобразований, не поддерживаемых встроенными кодеками. (На момент написания одним из таких примеров является Vietnamese/VISCII.) Поскольку US-ASCII и ISO-8859-1 являются настолько распространёнными, имеются особые быстрые функции для отображения в/из них. Например, для открытия пиктограммы приложения сделаем: QFile file(QString::fromLatin1("appicon.png")); или QFile file(QLatin1String("appicon.png")); Относительно вывода, Qt выполняет наиболее подходящее преобразование из Unicode в любую кодировку, предоставляемую системой и шрифтами. В зависимости от операционной системы, локали, доступности шрифта и поддержки со стороны Qt используемых символов, это преобразование может быть правильным или неправильным. Мы будем расширять это в следующих версиях, с выделением в первую очередь наиболее распространённых локалей. Смотрите также Интернационализация с Qt. |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |