Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo manejar la transmisión de cadenas chinas en la comunicación por socket Qt

Cómo manejar la transmisión de cadenas chinas en la comunicación por socket Qt

Cliente:

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 )