QIODevice::write
- это низкоуровневый байтово-ориентированный интерфейс для записи необработанных данных на устройство. QTextStream
- это интерфейс более высокого уровня для написания форматированного текста. QTextStream
вероятно реализовано в терминах QIODevice::write
под капотом.
Один из основных вариантов использования QTextStream
предназначен для записи QString
данных. Текстовый поток обрабатывает преобразование из UTF-16 в кодировку по умолчанию для вашей локали (обычно 8-битную) (или любую другую кодировку через QTextStream::setCodec
).
QTextStream
почти наверняка работает хуже, поскольку он делает больше. Однако в большинстве случаев использования разница будет незначительной. Если вы строите большую строку необработанных данных вручную, то вам, вероятно, следует использовать QIODevice::write
. Если вы хотите написать форматированный текст (который может включать QString
), вам, вероятно, следует выбрать QTextStream
.