qtextcodec转换html,Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换...

t使用Unicode来表示字符串。但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等。

Qt提供了QTextCodec类用于不同编码格式之间的转换。关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料。其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写。因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写。

其实,在Qt帮助手册中就有示例代码,但是是基于俄文的,这里简单修改为中文编码之间的转换。

将GBK编码(ANSI的简体中文编码)转换为Unicode编码格式:

QByteArray encodedString = "...";

QTextCodec *codec = QTextCodec::codecForName("GBK");

QString string = codec->toUnicode(encodedString);

将Unicode编码转换为GBK编码格式:

QString string = "...";

QTextCodec *codec = QTextCodec::codecForName("GBK");

QByteArray encodedString = codec->fromUnicode(string);

下面给出读取GBK编码的TXT文件的示例代码:

QFile file("FileName");

QTextCodec *codec = QTextCodec::codecForName("GBK");

QString line = codec->toUnicode(file.readLine());

http://blog.csdn.net/desert187/article/details/39895259

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式

Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec ...

后台list 如何转换为json格式

request.setCharacterEncoding("utf-8"); response.setCharacterEncoding( "UTF-8"); ...

Sony索尼数码录音笔MSV格式转换为MP3格式【转】

本文转载自:http://blog.sina.com.cn/s/blog_4b2c860f0100d78w.html Sony索尼数码录音笔一般存储为WAV格式,有些没有特意修改存储格式的就保存为MS ...

Qt读取文件时中文乱码问题

在默认情况下,Qt 以 Unicode 格式处理文本字符,因此,字符本身是不会有问题的.之所以出现乱码,原因在于 Qt 不知道将 Unicode 字符以何种方式显示出来.        文本文件含有简 ...

[TFRecord格式数据]利用TFRecords存储与读取带标签的图片

利用TFRecords存储与读取带标签的图片 原创文章,转载请注明出处~ 觉得有用的话,欢迎一起讨论相互学习~Follow Me TFRecords其实是一种二进制文件,虽然它不如其他格式好理解,但是 ...

Qt 读取txt文件乱码的解决办法

Qt 读取txt文本乱码问题 2015-05-20 15:46 方法一:使用QString的fromLocal8Bit()函数 复制代码 QFile txtfile(filePath);        ...

oracle读写文件--利用utl_file包对磁盘文件的读写操作

oracle读写文件--利用utl_file包对磁盘文件的读写操作 摘要: 用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做, ...

利用MAC OS X 自带的磁盘工具提取光盘镜像ISO文件

虽说渐渐地Mac笔记本基本告别内置光驱时代了,随着网络的普及,使用到光驱的机会也渐少,但有时又难免需要光驱,比如二货出版社的随书光盘等…我们可以通过USB外置光驱将光盘内容提取为ISO文件保存到电脑里 ...

随机推荐

div赋值,取值和input赋值,取值

一.div取值

你好
获取div的值$(&qu ...

利用scp 远程上传下载文件/文件夹和ssh远程执行命令

利用scp传输文件 1.从服务器下载文件scp username@servername:/path/filename /tmp/local_destination例如scp codinglog@192 ...

网络编程2-UDP编程(DatagramSocket)

1.传输层有两个协议,一个是tcp协议,另一个是udp协议,tcp协议通过socket编程.udp通过数据报编程. UDP协议: (1)将数据.源地址.目的地址 封装成数据包,不需要建立链接 (2)每 ...

【Oracle】表空间容量修改

-- 查看表空间容量 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...

[OrangePi] Installation on internal EMMC

Install the image on SD Card as described above Boot your Orange PI board from SD Card Run: sudo ins ...

statspack系列7

原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-7/ 作者:Jonathan Lewis 这是一段Oracle ...

软件测试-chapter2-homework2

程序一 1.the fault:for循环中i>0应改为i>=0 for (int i=x.length-1; i >= 0; i--) 2. (Reachability可达性,是f ...

Linux替换指定列的字符串(awk 命令)

假设有文件test.txt,想把test.txt文件第三列含有的good替换为bye,并把替换后的文件保存为test_bye.txt,只需要如下命令. test.txt go go good go m ...

C - Yogurt factory

The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the next N (1 &l ...

SqlServer行转列(PIVOT),列转行(UNPIVOT)总结

PIVOT用于将列值旋转为列名(即行转列) 语法: table_source PIVOT( 聚合函数(value_column) FOR pivot_column IN(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值