我无法通过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/

10-12 04:08