我无法通过TCP发送0x00。
像0x01这样的数据正常,服务器接收为00000001,但当为0x00时,serwer上没有接收消息。
客户代码:
QByteArray sender="\x00";
socket.write(sender);
服务器代码:
QByteArray Data = socket->readAll();
QString str = QString(Data.toHex());
qDebug()<<str;
//disp bytes
char myByte = Data.at(0);
for (int i = 7; i >= 0; --i)
{
qDebug() << ((myByte >> i) & 1);
}
如何发送0x00十六进制?
最佳答案
您正在从字符串构造QByteArray
,但字符串以字符0结尾。所以你的数组是空的。
使用adifferent constructor,即
const QByteArray sender(1, '\0');
关于qt - QT中TCP套接字上的0x00十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30616130/