[Qt] QString::fromLocal8Bit 的使用误区

QString::fromLocal8Bit 是一个平台相关的函数。默认情况下在 Windows 下 就是 gbk 转 utf-8 ,在 Linux就应该是无事发生。因为Linux平台默认的编码方式就是 utf-8
可以通过

void QTextCodec::setCodecForLocale(QTextCodec *c)

来修改 Qt默认的编码方式。如下
在这里插入图片描述
第一输出乱码的原因是, “小明” 是以 gbk进行编码的,但是 QString是 utf-8编码的。使用QString就会使用 utf-8进行解码。这样就会导致乱码。第二行不乱码是因为 默认情况 QString QString::fromLocal8Bit(const QByteArray &str) 下就是 gbk 转 utf-8 。但是如果我们显示的设置Qt的默认编码方式

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

在这里插入图片描述
就会发现又乱码了,这是因为Qt会认为 “小明” 是 utf-8编码的所以不会进行转换,但是实际上 “小明”是gbk编码的。

QTextCodec

QTextCodec 算得上是一个特殊的类,因为它的构造函数和析构函数都是保护函数,所以你不能够new一个QTextCodec对象出来。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572422.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页版短信平台软件开发要点|手机短信系统搭建建设

开发网页版短信平台软件时,需要考虑以下关键要点,以确保平台功能完喂、性能稳定和用户体验良好: 用户管理:实现用户注册、登录、Q:290615413权限管理等功能,确保用户信息安全可控。 短信发送功能:集成短信…

Flutter开发之下标

Flutter开发之下标 在iOS开发中使用下标就很方便,本文主要是记录一下Flutter中系统自带的下标,还可以通过对应的方法编写自己的下标。 在Objective-C中的下标 关键字Subscript。 NSArray - (ObjectType)objectAtIndexedSubscript:(NSUInteger)idx A…

EFI Driver Model(下)-SCSI 驱动设计

1、SCSI简介 SCSI是Small Computer System Interface(小型计算机系统接口)的缩写,使用50针接口,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器&…

通往荣耀之路! 在 The Sandbox 中种植树木,拯救真正的森林

The Sandbox 团队祝你国际森林日快乐! 我们相信,在创造一个更美好、更包容、更友善的地球的过程中,我们每个人都有责任采取具有影响力和目的性的行动。这就是为什么我们平台的核心支柱是利用元宇宙来推动公益事业。 国际森林日是我们践行这一…

数据分析之POWER Piovt透视表分析与KPI设置

将几个数据表之间进行关联 生成数据透视表 超级透视表这里的字段包含子字段 这三个月份在前面的解决办法 1.选中这三个月份,鼠标可移动的时候移动到后面 2.在原数据进行修改 添加列获取月份,借助month的函数双击日期 选择月份这列----按列排序-----选择月…

2024年目前阿里云服务器一个月收费价格表多少钱?

阿里云服务器一个月多少钱?最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年,折合5元一个月,2核4G服务器30元3个月,2核2G3M带宽服务器99元12个月,轻量应用服务器2核4G4M带宽165元12个月,4核16G服务…

Django开发复盘

一、URL 对于一个不会写正则表达式的蒟蒻来说,在urls.py中就只能傻傻的写死名字,但是即便这样,还会有很多相对路径和绝对路径的问题(相对ip端口的路径),因为我们网页中涉及到页面跳转,涉及到发送…

机器学习复习手册

机器学习的要素 基本概念 泛化: The ability to predict accurately the target for new examples that differ from those used in the training set is known as generalization.监督学习:The training data comprises examples of the input variab…

python在运行时控制台以表格形式输出结果prettytable.PrettyTable()

使用prettytable库按表格的形式美化输出结果 效果如图: 表格中可接收列表格式的数据,列表中装字符串 # 引入模块 import prettytable as pt# 创建表格与表头,包含五列,分别为train-epoch,class,precisio…

【进程控制】超详细讲解wait和waitpid的原理(结合代码)

文章目录 前言waitpid函数参数option什么叫非阻塞等待?参数status wait 函数 前言 在了解了进程状态这一概念之后,我们明白了什么叫做僵尸进程:子进程退出,父进程“不管不顾”。而一旦存在僵尸进程,势必也会存在内存泄…

SpringBoot整合Redis:面试必考题-缓存击穿--逻辑过期解决

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

如何解决Modbus转Profinet网关通信不稳定或数据丢失问题

接到现场反映,在配置Modbus转Profinet网关时,出现Modbus转Profinet网关(XD-MDPN100)通信不稳定或数据丢失的问题,就这个问题特做出答疑。 解决Modbus转Profinet网关(XD-MDPN100)通信不稳定或数据…