Cómo manejar la transmisión de cadenas chinas en la comunicación por socket Qt
ui>plainTextEdit (editor de texto) chino, inglés y fecha, equivalente a un archivo de registro.
// Esta no es una simple cadena "china", se coloca en una variable QString y se convierte en un QByteArray, que es un tipo diferente de basura.
QString str = ui->plainTextEdit->toPlainText( );
QByteArray byData;//Paquete de datos que se enviará al servidor
QByteArray byToken = QString ( " FutureInternet" ).toAscii( );
QByteArray byBody = "select log table";
// Parece que se perdieron algunos datos en esta conversión. Todavía está confuso
QString text = QString::fromLocal8Bit( (const char *)&str, str.length() );
qDebug() << text << endl; /p>
byBody.append( texto );
quint32 nLength = byToken.length() +
tamaño de ( quint32 ) +
byBody .
nLongitud = htonl( nLongitud );
byData.append( byToken );
byData.append( ( const char* ) &nLongitud,
sizeof ( quint32 ) );
byData.append( byBody );
clientThread->PostDataEvent( byData )