读取txt文件时,很多时候无法获取文件的编码格式。如果直接进行使用,则有可能出现乱码。需要在使用前将其转为Unicode(Qt的默认编码格式)。

虽然实际的编码格式种类非常多,但平常主要使用的有GBK与UTF-8两种。可以依次尝试转换,如果转换出现无效字符则认为不是该种编码格式。

QString GetCorrectUnicode(const QByteArray &ba)
{QTextCodec::ConverterState state;QTextCodec *codec = QTextCodec::codecForName("UTF-8");QString text = codec->toUnicode( ba.constData(), ba.size(), &state);if (state.invalidChars > 0){text = QTextCodec::codecForName( "GBK" )->toUnicode(ba);}else{text = ba;}return text;
}

  

qt-creator的编码格式,通过帮助文档查看:

大概有如下的编码格式:

Big5
Big5-HKSCS
CP949
EUC-JP
EUC-KR
GB18030
HP-ROMAN8
IBM 850
IBM 866
IBM 874
ISO 2022-JP
ISO 8859-1 to 10
ISO 8859-13 to 16
Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml
KOI8-R
KOI8-U
Macintosh
Shift-JIS
TIS-620
TSCII
UTF-8
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
Windows-1250 to 1258

转载于:https://www.cnblogs.com/senior-engineer/p/9198729.html

Qt读取TXT文件时,GBK与UTF-8编码判断相关推荐

  1. java读txt文件乱码_java读取txt文件时出现中文乱码怎么解决

    java读取txt文件时出现中文乱码怎么解决 发布时间:2020-06-25 15:27:31 来源:亿速云 阅读:105 作者:Leah java读取txt文件时出现中文乱码怎么解决?针对这个问题, ...

  2. 如何解决Kettle读取txt文件时出现的中文乱码问题?

    使用Kettle的[文本文件输入]读取txt文件时,其中的两个中文字段无法正确识别,其预览效果如下: 出现中文乱码自然想到是文件编码的问题,该txt文件的编码方式为:UTF-8 将该文件的编码方式改为 ...

  3. python读取txt文件时去除换行符

    python读取txt文件时去除换行符 python的readlines()方法用于读取所有行,且返回值是一个列表,换行符包含在字符串中. f = open("temp.txt", ...

  4. python读txt文件时末尾许多空格-python读取txt文件时去掉空格的方法

    python读取txt文件时去掉空格的方法 发布时间:2020-09-22 14:15:44 来源:亿速云 阅读:85 作者:小新 这篇文章给大家分享的是有关python读取txt文件时去掉空格的方法 ...

  5. python读取文件如何去除空格_python读取txt文件时怎么去掉空格

    python属于什么型语言 python通过什么实现映射 Python读取TXT文件可以通过replace()函数来去除TXT文件中的空格,基本结构:replace(to_replace, value ...

  6. python读取txt文件时,报错【utf-8 codec cant decode byte 0xcc】的解决办法

    最近在学习正则表达式,想要统计[天龙八部]中各个主角出现的次数. 在读取文件的时候,提示下面错误: 原来下载的天龙八部txt文件的编码格式是[ANSI],所以读取报错了. 解决办法很简单,将文件的编码 ...

  7. qt读取txt文件内容

    QFile f("D:\\测试数据\\单波束数据\\灯浮.TGT"); if (!f.open(QIODevice::ReadOnly|QIODevice::Text))//打开指 ...

  8. java read出错_java读取txt文件时,错误的把txt内容读取了两遍

    package标准化模拟考试;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjav ...

  9. R语言用read.table()函数读取txt文件时报错incomplete final line found by readTableHeader

    一.在读取txt文件时,需要注意两个问题 1.首先要需要用getwd()函数查看一下,当前编辑的文件路径. 如: 如果txt文件不在该路径下,则读取txt文件会报错. 2.此外,需要注意txt文件中需 ...

最新文章

  1. 理解神经网络,从简单的例子开始(1)7行python代码构建神经网络
  2. 也谈Hashtable
  3. spring boot配置文件:application.yml (yml与properties文件优缺对比)
  4. hibernate session的load和get方法
  5. 无限级分类及生成json数据
  6. 【Python】 运算符
  7. 阿里云SLB上http强制跳转到https问题处理
  8. python文件读写方法手机,python文本文件读写的3种方法
  9. php算法求出一个数可以被分解成多少个_小学数学必考的34个数学重难点公式,赶紧给孩子收藏!...
  10. php数组操作,内容相同,键值不同,互换
  11. 南京邮电大学c语言实验报告4,南京邮电大学软件设计实验报告..doc
  12. python股票成交明细_AkShare-股票数据-龙虎榜-机构席位成交明细
  13. TSO/GSO/LRO/GRO
  14. IOS学习笔记-加速度传感器(重力感应)-UIAccelerometer
  15. html字两边的横线_css实现中间文字 两边横线(原创)
  16. Nvidia GPU虚拟化
  17. GRU(Gate Recurrent Unit,门控循环单元)结构
  18. 监控dns流量有哪些方法?
  19. rxjava2下载地址
  20. 面试积累-Redis-Redis主要消耗什么物理资源?

热门文章

  1. 深度学习——02、深度学习入门 15-18
  2. 【STM32】DMA相关函数和类型
  3. 【Qt5.8】Qt5.8中串口信息类QSerialPortInfo
  4. MongoDB数据库备份与恢复
  5. VC各种情况下的窗口句柄的获取
  6. 最简单的进制转换函数
  7. python 重置索引_Pandas的reset_index()重置索引列
  8. 续说零拷贝(Zero-Copy) - DMA技术
  9. 电脑上同时安装了tensorflow和tensorflow-gpu,如何默认使用tensorflow-gpu
  10. 使用vim寄存器(reg)功能(vim 复制、剪切、粘贴功能简介)