mes_send=codec_send->fromUnicode(mes_send);
char* str1 = "ШИШ"; // исходник должен быть набран в cp1251QString buf = QTextCodec::codecForName("CP1251")->toUnicode(str1);char *str2 = new char[buf.size()];strcpy(str2, QTextCodec::codecForName("IBM-866")->fromUnicode(buf).data());// теперь в str2 содержится ШИШ в кодировке IBM-866
mes_send2=codec_send->fromUnicode(mes_send2);
m_psocket->writeBlock(MES_SEND, MES_SEND.length());
QString str1("ШИШ"); // строка будет в Unicode кодировке (2 байта на символ) при правильно заданном кодекеQByteArray str1("ШИШ"); // строка будет в кодировке исходника (1251 например) (1 байт на символ).QLatin1String str2("ABC"); // строка будет в ASCII/Latin1 (1 байт на символ)QString str3(QLatin1String("ABC")); строка будет в Unicode кодировке (преобразование latin1/ASCII (8 бит) в Unicode (16 бит)).
QLatin1String("Test"): длина 4 байта 0x54 0x65 0x73 0x74QString(QLatin1String("Test")): длина 8 байт 0x00 0x54 0x00 0x65 0x00 0x73 0x00 0x74QByteArray("Test"): длина 4 байта 0x54 0x65 0x73 0x74QString(QByteArray("Test")): длина 8 байт 0x00 0x54 0x00 0x65 0x00 0x73 0x00 0x74