for goodness sake,please don't use sms lingo.
You have a kyeboard, use it.

Well, basically yes, it would be enough if you change to QDataStream, and write access to the file should be binary raw.

But your whole approach is not very nice.
You are reading one char at a time, and write one char at a time.
Why not read everything at once (or large chunks) and write is so as well.

I think QextSerialPort is much easier then what you used here, and it plays nicely with Qt.

But do what you think is the best for you.