使用QTcpSocket传输文件时出现奇怪的字符

时间:2013-03-26 02:52:12

标签: qt qt4 qtcpsocket qtcpserver

我正在尝试使用QTcpSocket传输文件。连接运行正常,但我的问题是当我尝试在文件上记录接收的字节时。当我打开文件时,文件的开头有一些奇怪的字符。这些人物是什么?

2 个答案:

答案 0 :(得分:1)

我的问题是我将整个对象保存在我的文件中。当我们在流中使用运算符>>时,Qt序列化整个对象并发送它。如果您只想写文件的字节或任何您想要的字节,则需要使用writeRawData或将char *传递给字节的write方法。

:)

答案 1 :(得分:0)

他们可能正在描述文件文本的编码。例如UTF-8诉ISO ###标准。如果您取出文本块并将其设置为正确的编码,那么这些字符很可能会消失。

以下是了解它的起点:

http://en.wikipedia.org/wiki/Unicode_and_HTML

http://qt-project.org/doc/qt-4.8/qstring.html#toUtf8

希望有所帮助。