准备写一个发送端发送中文,接收端接收后存入文件的程序,但接收到的中文一直是乱码,知道是编码转换问题,但不知道怎么解决,特来求助! 
发送端: 
QString str0 = "北京"; 
QByteArray array =str0.toUtf8(); 
udpsocket.writeDatagram(array,QHostAddress::Broadcast,45454); 
接收端: 
while(udpsocket.hasPenddingDatagrams()){ 
QByteArray datagram; 
datagram.resize(udpsocket.pendingDatagramSize()); 
udpsocket.readDatagram(datagram.data(0,datagram.size()); 
QFile file("1.txt"); 
if(file.open(QIODEVICE::WriteOnlly)) 
return 1; 
QString str1 = QString ::fromUtf8(datagram.data()); 
QTextStream out(&file); 
out<<"receive:"<<str1<<"\n"; 
} 
后来发送端尝试了下面的方式,还是乱码,没办法了。。。。 
QTextCodec *codec = QTextCodec::codecForName("GBK"); 
QString array =codec->formUnicode("中国"); 
udpsocket.writeDatagram(array.toLatin1(),QHostAddress::Broadcast,45454); 
望有想法的xdjm说说怎么解决啊!