Название: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 21:20 Как из двух char cделать один QChar?
Название: Re: Как из двух char cделать один QChar? Отправлено: SimpleSunny от Июнь 12, 2010, 22:19 А что это за char? Младший и старший байт?
Потому что не совсем понятно, как из двух символов сделать один. Название: Re: Как из двух char cделать один QChar? Отправлено: Sancho_s_rancho от Июнь 12, 2010, 23:09 Как из двух char cделать один QChar? Видимо День России не прошел мимо вас. Даже немножко завидно.Возможно вы хотите что-то типа этого Код: QString QTextCodec::toUnicode ( const char * input, int size, ConverterState * state = 0 ) const пи.си. не все символы в unicode 16bit кодируются 2-мя байтами, насколько я помню Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:12 А что это за char? Младший и старший байт? Потому что не совсем понятно, как из двух символов сделать один. да, младший и старший байт. QChar как я понял двубайтовый, а char - один байт. как соединить их? Название: Re: Как из двух char cделать один QChar? Отправлено: Sancho_s_rancho от Июнь 12, 2010, 23:14 А что это за char? Младший и старший байт? Потому что не совсем понятно, как из двух символов сделать один. да, младший и старший байт. QChar как я понял двубайтовый, а char - один байт. как соединить их? Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:16 А что это за char? Младший и старший байт? Потому что не совсем понятно, как из двух символов сделать один. да, младший и старший байт. QChar как я понял двубайтовый, а char - один байт. как соединить их? Ну вроде UTF-8 не используется для QChar Название: Re: Как из двух char cделать один QChar? Отправлено: Sancho_s_rancho от Июнь 12, 2010, 23:18 Для QChar используется 16bit Unicode, а он использует для разных символов разное кол-во байт.
Цитировать UTF-16 (англ. Unicode Transformation Format) в информатике — один из способов кодирования символов из Unicode в виде последовательности 16-битных слов. Символы с кодами меньше 0x10000 (216) представляются как есть, а символы с кодами 0x10000—0x10FFFF — в виде последовательности двух 16-битных слов Название: Re: Как из двух char cделать один QChar? Отправлено: Sancho_s_rancho от Июнь 12, 2010, 23:19 Короче говоря 1 символ как нефиг делать может занимать 4 байта. Вот такие пирожки с котятками.
Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:20 Как из двух char cделать один QChar? Видимо День России не прошел мимо вас. Даже немножко завидно.Возможно вы хотите что-то типа этого Код: QString QTextCodec::toUnicode ( const char * input, int size, ConverterState * state = 0 ) const пи.си. не все символы в unicode 16bit кодируются 2-мя байтами, насколько я помню ну а по коду как будет выглядеть если допустим имеем : char s1 = '0x34'; char s2 = '0xA8'; И нужно получить : QChar s ='0xA834'; Название: Re: Как из двух char cделать один QChar? Отправлено: SimpleSunny от Июнь 12, 2010, 23:22 Код
Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:24 QChar::QChar ( uchar cell, uchar row ) inline QChar::QChar(uchar c, uchar r) : ucs(ushort((r << 8) | c)){} да ну!!! и что ? пашет? :) Название: Re: Как из двух char cделать один QChar? Отправлено: SimpleSunny от Июнь 12, 2010, 23:28 Почитайте про операции << и |.
Название: Re: Как из двух char cделать один QChar? Отправлено: zenden от Июнь 12, 2010, 23:29 скажите, а зачем вам это надо
Название: Re: Как из двух char cделать один QChar? Отправлено: Sancho_s_rancho от Июнь 12, 2010, 23:31 скажите, а зачем вам это надо Присоединяюсь к вопросу.Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:31 Почитайте про операции << и |. понял, сдвиг и логическая операция "и" спасибо Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 12, 2010, 23:33 скажите, а зачем вам это надо да, просто возник вопрос как это сделать, вот и узнавал Название: Re: Как из двух char cделать один QChar? Отправлено: mqter от Июнь 13, 2010, 00:24 Кстати, с праздником вас ребята, Спасибо еще раз, не судите строго, только учусь ;)
Название: Re: Как из двух char cделать один QChar? Отправлено: Denjs от Сентябрь 03, 2010, 09:40 гм... тупо в лоб можно так:
Каг-бэ не для обработки строк топикастер хочет байты в UTF готовить...? на всякий сучай напишу как я бы это делал. С явным указанием кодека. готовим данные Код: char ch1; преобразование делаем так : Код: Codec = QTextCodec::codecForName("UTF-8"); Код: QChar qch0=str.at(0); |