一、字符串类型:
    Qt 中支持多种字符串类型,如:
    C → char*
    C++ → std::string
    Qt → QByteArray、QStering

    二、QByteArray:

    1. QByteArray::QByteArray(); // 构造空对象, 里边没有数据
    2. // 将data中的size个字符进行构造, 得到一个字节数组对象
    3. // 如果 size==-1 函数内部自动计算字符串长度, 计算方式为: strlen(data)
    4. QByteArray::QByteArray(const char *data, int size = -1);
    5. // 构造一个长度为size个字节, 并且每个字节值都为ch的字节数组
    6. QByteArray::QByteArray(int size, char ch);
    1. // 在尾部追加数据
    2. QByteArray &QByteArray::append(const QByteArray &ba);
    3. void QByteArray::push_back(const QByteArray &other);
    4. // 头部添加数据
    5. QByteArray &QByteArray::prepend(const QByteArray &ba);
    6. void QByteArray::push_front(const QByteArray &other);
    7. // 插入数据, 将ba插入到数组第 i 个字节的位置(从0开始)
    8. QByteArray &QByteArray::insert(int i, const QByteArray &ba);
    9. // 删除数据
    10. // 从大字符串中删除len个字符, 从第pos个字符的位置开始删除
    11. QByteArray &QByteArray::remove(int pos, int len);
    12. void QByteArray::chop(int n); // 从字符数组的尾部删除 n 个字节
    13. // 从字节数组的 pos 位置将数组截断 (前边部分留下, 后边部分被删除)
    14. void QByteArray::truncate(int pos);
    15. void QByteArray::clear(); // 将对象中的数据清空, 使其为null
    16. // 字符串替换
    17. // 将字节数组中的 子字符串 before 替换为 after
    18. QByteArray &QByteArray::replace(const QByteArray &before, const QByteArray &after);
    1. // 判断字节数组中是否包含子字符串 ba, 包含返回true, 否则返回false
    2. bool QByteArray::contains(const QByteArray &ba) const;
    3. bool QByteArray::contains(const char *ba) const;
    4. // 判断字节数组中是否包含子字符 ch, 包含返回true, 否则返回false
    5. bool QByteArray::contains(char ch) const;
    6. // 判断字节数组是否以字符串 ba 开始, 是返回true, 不是返回false
    7. bool QByteArray::startsWith(const QByteArray &ba) const;
    8. bool QByteArray::startsWith(const char *ba) const;
    9. // 判断字节数组是否以字符 ch 开始, 是返回true, 不是返回false
    10. bool QByteArray::startsWith(char ch) const;
    11. // 判断字节数组是否以字符串 ba 结尾, 是返回true, 不是返回false
    12. bool QByteArray::endsWith(const QByteArray &ba) const;
    13. bool QByteArray::endsWith(const char *ba) const;
    14. // 判断字节数组是否以字符 ch 结尾, 是返回true, 不是返回false
    15. bool QByteArray::endsWith(char ch) const;
    1. // 迭代器遍历
    2. iterator QByteArray::begin();
    3. iterator QByteArray::end();
    4. // 使用数组的方式进行遍历
    5. // i的取值范围 0 <= i < size()
    6. char QByteArray::at(int i) const;
    7. char QByteArray::operator[](int i) const;
    1. // 返回字节数组对象中字符的个数
    2. int QByteArray::length() const;
    3. int QByteArray::size() const;
    4. int QByteArray::count() const;
    5. // 返回字节数组对象中 子字符串ba 出现的次数
    6. int QByteArray::count(const QByteArray &ba) const;
    7. int QByteArray::count(const char *ba) const;
    8. // 返回字节数组对象中 字符串ch 出现的次数
    9. int QByteArray::count(char ch) const;
    1. // 将QByteArray类型的字符串 转换为 char* 类型
    2. char *QByteArray::data();
    3. const char *QByteArray::data() const;
    4. // int, short, long, float, double -> QByteArray
    5. QByteArray &QByteArray::setNum(int n, int base = 10);
    6. QByteArray &QByteArray::setNum(short n, int base = 10);
    7. QByteArray &QByteArray::setNum(qlonglong n, int base = 10);
    8. QByteArray &QByteArray::setNum(float n, char f = 'g', int prec = 6);
    9. QByteArray &QByteArray::setNum(double n, char f = 'g', int prec = 6);
    10. [static] QByteArray QByteArray::number(int n, int base = 10);
    11. [static] QByteArray QByteArray::number(qlonglong n, int base = 10);
    12. [static] QByteArray QByteArray::number(double n, char f = 'g', int prec = 6);
    13. // QByteArray -> int, short, long, float, double
    14. int QByteArray::toInt(bool *ok = Q_NULLPTR, int base = 10) const;
    15. short QByteArray::toShort(bool *ok = Q_NULLPTR, int base = 10) const;
    16. long QByteArray::toLong(bool *ok = Q_NULLPTR, int base = 10) const;
    17. float QByteArray::toFloat(bool *ok = Q_NULLPTR) const;
    18. double QByteArray::toDouble(bool *ok = Q_NULLPTR) const;
    19. // std::string -> QByteArray
    20. [static] QByteArray QByteArray::fromStdString(const std::string &str);
    21. // QByteArray -> std::string
    22. std::string QByteArray::toStdString() const;
    23. // 所有字符转换为大写
    24. QByteArray QByteArray::toUpper() const;
    25. // 所有字符转换为小写
    26. QByteArray QByteArray::toLower() const;

    三、QString:

    1. // 构造一个空字符串对象
    2. QString::QString();
    3. // 将 char* 字符串 转换为 QString 类型
    4. QString::QString(const char *str);
    5. // 将 QByteArray 转换为 QString 类型
    6. QString::QString(const QByteArray &ba);
    1. // 尾部追加数据
    2. QString &QString::append(const QString &str);
    3. QString &QString::append(const char *str);
    4. QString &QString::append(const QByteArray &ba);
    5. void QString::push_back(const QString &other);
    6. // 头部添加数据
    7. QString &QString::prepend(const QString &str);
    8. QString &QString::prepend(const char *str);
    9. QString &QString::prepend(const QByteArray &ba);
    10. void QString::push_front(const QString &other);
    11. // 插入数据, 将 str 插入到字符串第 position 个字符的位置(从0开始)
    12. QString &QString::insert(int position, const QString &str);
    13. QString &QString::insert(int position, const char *str);
    14. QString &QString::insert(int position, const QByteArray &str);
    15. // 删除数据
    16. // 从大字符串中删除len个字符, 从第pos个字符的位置开始删除
    17. QString &QString::remove(int position, int n);
    18. // 从字符串的尾部删除 n 个字符
    19. void QString::chop(int n);
    20. // 从字节串的 position 位置将字符串截断 (前边部分留下, 后边部分被删除)
    21. void QString::truncate(int position);
    22. // 将对象中的数据清空, 使其为null
    23. void QString::clear();
    24. // 字符串替换
    25. // 将字节数组中的 子字符串 before 替换为 after
    26. // 参数 cs 为是否区分大小写, 默认区分大小写
    27. QString &QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive);
    1. // 参数 cs 为是否区分大小写, 默认区分大小写
    2. // 判断字符串中是否包含子字符串 str, 包含返回true, 否则返回false
    3. bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
    4. // 判断字符串是否以字符串 ba 开始, 是返回true, 不是返回false
    5. bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
    6. // 判断字符串是否以字符串 ba 结尾, 是返回true, 不是返回false
    7. bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
    1. // 迭代器遍历
    2. iterator QString::begin();
    3. iterator QString::end();
    4. // 使用数组的方式进行遍历
    5. // i的取值范围 0 <= position < size()
    6. const QChar QString::at(int position) const
    7. const QChar QString::operator[](int position) const;
    1. // 返回字节数组对象中字符的个数 (字符个数和字节个数是不同的概念)
    2. int QString::length() const;
    3. int QString::size() const;
    4. int QString::count() const;
    5. // 返回字节串对象中 子字符串 str 出现的次数
    6. // 参数 cs 为是否区分大小写, 默认区分大小写
    7. int QString::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
    1. // 将int, short, long, float, double 转换为 QString 类型
    2. QString &QString::setNum(int n, int base = 10);
    3. QString &QString::setNum(short n, int base = 10);
    4. QString &QString::setNum(long n, int base = 10);
    5. QString &QString::setNum(float n, char format = 'g', int precision = 6);
    6. QString &QString::setNum(double n, char format = 'g', int precision = 6);
    7. [static] QString QString::number(long n, int base = 10);
    8. [static] QString QString::number(int n, int base = 10);
    9. [static] QString QString::number(double n, char format = 'g', int precision = 6);
    10. // 将 QString 转换为 int, short, long, float, double 类型
    11. int QString::toInt(bool *ok = Q_NULLPTR, int base = 10) const;
    12. short QString::toShort(bool *ok = Q_NULLPTR, int base = 10) const;
    13. long QString::toLong(bool *ok = Q_NULLPTR, int base = 10) const
    14. float QString::toFloat(bool *ok = Q_NULLPTR) const;
    15. double QString::toDouble(bool *ok = Q_NULLPTR) const;
    16. // 将标准C++中的 std::string 类型 转换为 QString 类型
    17. [static] QString QString::fromStdString(const std::string &str);
    18. // 将 QString 转换为 标准C++中的 std::string 类型
    19. std::string QString::toStdString() const;
    20. // QString -> QByteArray
    21. // 转换为本地编码, 跟随操作系统
    22. QByteArray QString::toLocal8Bit() const;
    23. // 转换为 Latin-1 编码的字符串 不支持中文
    24. QByteArray QString::toLatin1() const;
    25. // 转换为 utf8 编码格式的字符串 (常用)
    26. QByteArray QString::toUtf8() const;
    27. // 所有字符转换为大写
    28. QString QString::toUpper() const;
    29. // 所有字符转换为小写
    30. QString QString::toLower() const;