Bonjour,
Alors je sais que c'est un problème qui semble récurrent et déjà traité ici.
Mais après avoir testé plusieurs solutions par ci par là j'avoue que je sèche (et commence légèrement à craquer!!)
Méthode 1 :
Echec total, le logiciel fait une addition!! Mais je veux juste concatener!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 qint16 x = response->at(index); //me donne fffa x = x << 8; //me donne fa00 x |= qint8(response->at(index+1)); //devrait me donner fabf mais j'ai f9bf!!
Méthode 2:
Nouvel échec, le résultat est identique à la méthode 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int y = int(response->at(index))<<8; int z = int(response->at(index+1)); qint16 res = y + z;
Méthode 3:
Là le retour est simple j'ai 0, mais bon cela suit la logique car j'utilise des RAW DATA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part qint16 res = temp.toInt();
Méthode 4:
Là cela fonctionne presque sauf que j'ai bffa !!! Hors j'avoue galérer avec le little/big indian et j'aimerai passer outre cette problèmatique...
Code : Sélectionner tout - Visualiser dans une fenêtre à part qint16 res = *((qint16*) temp.constData()); // temp étant un QByteArray contenant fa bf
Quelqu'un pourrait il m'aider?
Merci.
Partager