質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

Q&A

解決済

1回答

586閲覧

ASCII変換されて渡されたデータを元のデータに戻す方法

tuyudaku

総合スコア75

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

0グッド

0クリップ

投稿2019/07/12 06:12

編集2019/07/12 06:17

ある読み取り機から来るデータを
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に変換して入れている感じです

この変換をもうちょっとスマートに行いたいのですが
なにか方法はあるでしょうか?よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

read_data_buffer_の型がQByteArray*true_dataの型がQByteArrayであれば、true_data = QByteArray::fromHex(*read_data_buffer_);で良いような気がしますが、だめでした?

投稿2019/07/12 06:29

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tuyudaku

2019/07/12 06:36

>true_data = QByteArray::fromHex(*read_data_buffer_);で良いような気がしますが、だめでした? あ.... ご指摘ありがとうございます。なぜ何も疑問に思わずこんなコードを書いていたのか... 見直してみたら全く意味無いことしていますね... 確認してみたところしっかりと変換できていました 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問