TextFileFormat Class

class Utils::TextFileFormat

The TextFileFormat class describes the format of a text file and provides autodetection. More...

Header: #include <TextFileFormat>

Public Functions

bool decode(const QByteArray &data, QString *target) const
void detectFromData(const QByteArray &data)
Utils::TextFileFormat::ReadResult readFile(const Utils::FilePath &filePath, const Utils::TextEncoding &fallbackEncoding)
Utils::Result<> writeFile(const Utils::FilePath &filePath, QString plainText) const

Static Public Members

QByteArray decodingErrorSample(const QByteArray &data)

Detailed Description

The format comprises

  • Encoding represented by a the name of a codec
  • Presence of an UTF8 Byte Order Marker (BOM)
  • Line feed storage convention

The class also provides convenience functions to read text files and return them as strings or string lists and to write out files.

Member Function Documentation

bool TextFileFormat::decode(const QByteArray &data, QString *target) const

Returns data decoded to a string, target.

[static] QByteArray TextFileFormat::decodingErrorSample(const QByteArray &data)

Returns a piece of text specified by data suitable as display for an encoding error.

void TextFileFormat::detectFromData(const QByteArray &data)

Detects the format of text data.

Utils::TextFileFormat::ReadResult TextFileFormat::readFile(const Utils::FilePath &filePath, const Utils::TextEncoding &fallbackEncoding)

Reads a text file from filePath into a string, plainText using defaultCodec and text file format format.

Returns whether decoding was possible without errors. If an errors occur it is returned together with a decoding error sample.

Note: This function does not use the codec set by setCodec. Instead it detects the codec to be used from BOM read file contents. If none is present, it falls back using the provided fallbackCodec. If this still doesn't exist, it uses TextEncoding::encodingForLocale()

Utils::Result<> TextFileFormat::writeFile(const Utils::FilePath &filePath, QString plainText) const

Writes out a text file to filePath into a string, plainText.

Returns whether decoding was possible without errors.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.