Qt, проверка QByteArray на UTF8

Модератор: Модераторы разделов

v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Qt, проверка QByteArray на UTF8

Сообщение v04bvs »

Как это сделать? Не нашёл никаких средств, можно ли данный массив конвертировать в строку используя UTF8. Мне это надо, т.к. строка может быть либо в UTF8, либо в CP1251.
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Qt, проверка QByteArray на UTF8

Сообщение Женя Подсыпальников »

...блокнот во Венде -
всякому U-формату - заголовок собачит... :)

Еслив я ему в UTF-8 этот заголовок
перепишу каким либо словом из трёх букв -

тоже не понимает, думает, что ANSI... :)
Пойдём на рыбалку !
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Qt, проверка QByteArray на UTF8

Сообщение v04bvs »

Женя Подсыпальников писал(а):
21.02.2007 18:57
...блокнот во Венде -
всякому U-формату - заголовок собачит... :)

Нет, там заголовка нет.
Просто если получилось в UTF8 сконвертировать, хорошо, а если не получилось, как мне об этом узнать?
Посмотрел реализацию QString::fromUtf8, там ошибки не обрабатываются :(
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Qt, проверка QByteArray на UTF8

Сообщение Женя Подсыпальников »

Можа, отвести класс от QByteArray,
где будет дополнительная функция проверки его на UTF-8 ? :)

Вот, тут принципы UTF-8:

- коли лидирует "0" в байте - ASCII, идём к следующему (это позволено в UTF-8)
- коли лидирует "1" в байте - точно не ASCII, осталось проверить истинность UTF-8
-- количество слитых единиц за этой лидирующей единицей - означает число проверки байтов за этим байтом
-- всякий такой "приклеенный" байт для проверки - должен начинаться с "10" (высшие два бита)
--- коли это так для каждого "предобъявленного" байта - имеем UTF-8

Вот, тут примеры UTF-8 "букв":

'нерусёвая a' :
01100001

'нерусёвая а с двумя точками наверху' :
11000011 10100100

'ф' :
11010001 10000100

'малая грекова дельта' :
11001110 10110100

'знак евра' :
11100010 10000010 10101100

Пойдёт ? :)
Пойдём на рыбалку !
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Qt, проверка QByteArray на UTF8

Сообщение v04bvs »

Жутко не хочется такими низкоуровневыми вещами заниматься.. Но видно придётся. Спасибо.
Спасибо сказали: