ある読み取り機から来るデータを
QSerialPortから読み取ったら
元のデータを読み取り機がASCII変換してから送っていることがわかりました
(日本語あっているかな...)
元のデータが
00110011 = 0x33
というデータだとしたら
渡されてくるデータが
0011001100110011 = 0x3333
になるということなのですが
コレを元のデータに戻したいわけなのですが
スマートなやり方が思いつきません
とりあえず今は
c++
1 for(int i = 0; i < (read_data_buffer_->size() - 2); i += 2) 2 { 3 QByteArray tmp = QByteArray(); 4 tmp.append(read_data_buffer_->at(i)); 5 tmp.append(read_data_buffer_->at(i+1)); 6 true_data.append(QByteArray::fromHex(tmp)); 7 }
雑なコーディングにはなりますがこうなっています
read_data_bufferがQSerialPortから読み取ったQByteArray型のデータになります
そこから2バイトずつ取り出して、QByteArray型のtrue_dataに変換して入れている感じです
この変換をもうちょっとスマートに行いたいのですが
なにか方法はあるでしょうか?よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/12 06:36