我在通过tcp发送0x00时遇到问题。 像0x01这样的数据是可以的,服务器接收为00000001,但是当它是0x00时 - 在服务器上没有接收消息。
客户代码:
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十六进制?
答案 0 :(得分:2)
您正在从字符串构造QByteArray
,但字符串由字符0终止。因此您的数组为空。
const QByteArray sender(1, '\0');