Qt使用Unicode转义序列创建QString

(1)源文件保存为UTF-8,QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

#include "mainwidget.h"
#include <QApplication>
#include <QTextEdit>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

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

    QString str1=QString::fromLocal8Bit("\u7a0b\u5e8f\u733f");
    QString str2=QObject::tr("\u7a0b\u5e8f\u733f");
    QString str3=QString::fromUtf8("\u7a0b\u5e8f\u733f");

    QTextEdit textEdit;
    textEdit.setWindowTitle("Unicode Test");
    textEdit.append(str1);
    textEdit.append(str2);
    textEdit.append(str3);
    textEdit.resize(400, 200);
    textEdit.show();

    return a.exec();
}

运行效果:

(2)源文件保存为UTF-8,QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));

#include "mainwidget.h"
#include <QApplication>
#include <QTextEdit>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));

    QString str1=QString::fromLocal8Bit("\u7a0b\u5e8f\u733f");
    QString str2=QObject::tr("\u7a0b\u5e8f\u733f");
    QString str3=QString::fromUtf8("\u7a0b\u5e8f\u733f");

    QTextEdit textEdit;
    textEdit.setWindowTitle("Unicode Test");
    textEdit.append(str1);
    textEdit.append(str2);
    textEdit.append(str3);
    textEdit.resize(400, 200);
    textEdit.show();

    return a.exec();
}

运行效果:

(3)源文件保存为GBK,QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

#include "mainwidget.h"
#include <QApplication>
#include <QTextEdit>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

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

    QString str1=QString::fromLocal8Bit("\u7a0b\u5e8f\u733f");
    QString str2=QObject::tr("\u7a0b\u5e8f\u733f");
    QString str3=QString::fromUtf8("\u7a0b\u5e8f\u733f");

    QTextEdit textEdit;
    textEdit.setWindowTitle("Unicode Test");
    textEdit.append(str1);
    textEdit.append(str2);
    textEdit.append(str3);
    textEdit.resize(400, 200);
    textEdit.show();

    return a.exec();
}

运行效果:

(4)源文件保存为GBK,QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));

#include "mainwidget.h"
#include <QApplication>
#include <QTextEdit>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));

    QString str1=QString::fromLocal8Bit("\u7a0b\u5e8f\u733f");
    QString str2=QObject::tr("\u7a0b\u5e8f\u733f");
    QString str3=QString::fromUtf8("\u7a0b\u5e8f\u733f");

    QTextEdit textEdit;
    textEdit.setWindowTitle("Unicode Test");
    textEdit.append(str1);
    textEdit.append(str2);
    textEdit.append(str3);
    textEdit.resize(400, 200);
    textEdit.show();

    return a.exec();
}

运行效果:

结论:由上面的测试可知,unicode转义序列实际上在程序编译时被转换为了utf-8编码方式存储

 

热门文章

暂无图片
编程学习 ·

2.7 网络抓包

1.简介 抓包是指对网络传输中发送与接收的数据包进行拦截、重发、编辑和转存的操作。 在开发网络爬虫时,给定URL,开发者必须清楚客户端是如何向服务器发送请求的,以及客户端发出请求后服务器返回的数据是什么。只有了解这些内容,开发者才能在程序中拼接URL,针对服务返回的…
暂无图片
编程学习 ·

面向对象(二)- java

面向对象(二) 一、封装 封装使得对代码的修改更加安全和容易。将代码分成了一个个相对独立的单元。 封装所带来的好处是:明确的指出了那些属性和方法是外部可以访问的。这样当你需要调整这个类的代码时,只要 保证公有(Public:)属性不变,公有方法的参数和返回值类型不变,那…
暂无图片
编程学习 ·

【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对从不同像素密度资源中解码对应的 Bitmap 对象 | inDensity | inTargetDensity )

文章目录一、像素密度对解码图片的影响二、不考虑像素密度会导致图片缩小尺寸不准确三、DisplayMetrics 源码阅读、研究手机资源获取规则四、像素密度参数设置取值 ( inDensity | inTargetDensity | setDensity )五、inDensity 与 inTargetDensity 设置六、新的图片缩小工具类代…
暂无图片
编程学习 ·

2020年陆月份生活随笔

今天是建党99年,党的生日,不是党员,要按照党员的标准严格要求自己。昨天看了一下月跑量,计划着跑一个总里程171.99,计算了一下今天跑一个8.48就可以,今天跑步特意戴上耳机听跑步软件播报公里数,到了八公里就放满了速度,跑着距离感觉快到了,心想过了这个路口再看手机,…
暂无图片
编程学习 ·

anaconda安装pytorch

CPU版本: https://pytorch.org/get-started/previous-versions/ #CPU only conda install pytorch1.2.0 torchvision0.4.0 cpuonly -c pytorch 参考博客 [1]https://blog.csdn.net/u014723479/article/details/103001861?utm_medium=distribute.pc_relevant.none-task-blog-B…
暂无图片
编程学习 ·

kubectl源码分析之config delete-context

发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373…
暂无图片
编程学习 ·

qtdesigner-尝试连接数据库

参考教程:基于PyQt5的数据库可视化操作界面MainWindow:生成的一个类,下面有setupUi和retranslateUi两个方法。 接下来是登录操作。教程中用的是pymssql,我们用pyodbc,目测应该差不多。 import pyodbc cnxn = pyodbc.connect(DRIVER={SQL Server};SERVER=localhost;DATABASE…
暂无图片
编程学习 ·

Java设计模式-单例模式(全例记录)

1. 基础介绍核心作用:保证一个类只有一个实例,并提供一个访问该实例的全局访问点; 优点:由于单例模式只生成一个实例,所以减少了系统的开销,当一个系统启动需要较多的资源时,可以直接在系统启动时产生一个单例对象,然后使其永久驻留内存;单例模式可以在系统设置全局访…
暂无图片
编程学习 ·

火箭少女101毕业,rocketgirls.fans粉丝站上线震撼饭圈

2年前的2018年6月23日晚:经过一百零四天的艰苦训练和比赛,由457家公司、13778名练习生中层层挑选出的11名女孩站上成团出道位,组成为期2年的限定女团,火箭少女101成团出道。两年后的2020年6月23日晚:火箭少女101的2年限定组合期限已到,晚上8点 “遇见再见”火箭少女101告…
暂无图片
编程学习 ·

Docker在阿里云上(Centos)下载安装

Docker作用 简单来说就是可以不在考虑项目的运行环境直接转移部署项目,只需要一个镜像文件,甚至可以理解为一个虚拟机(windows的VM软件里安装linux系统)。 卸载旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker…
暂无图片
编程学习 ·

React配置less以及less的全局变量设置

工作中接触react的项目比较的少,对于less的全局变量设置在vue项目中设置过,react的全局变量设置没怎么接触了。 看到有小伙伴问这个,试着在网上找了下,也是花费了不少的功夫才找到不错的方式,在这里分享给大家。 由于之前vue项目里没法使用sass-resource-loader,一开始也…
暂无图片
编程学习 ·

linux系统与windows系统的选择

linux系统与windows系统的选择 由 虎扑JR0716707505 发表在虎扑步行街步行街主干道 https://bbs.hupu.com/bxj 我们经常遇到有的用户在租用网站服务器之后,说不知道该选择linux系统还是windows系统,我给出的建议是用户可以根据自己的需求,操作,安全,稳定以及性价比来看,就…
暂无图片
编程学习 ·

Java工具类-使用RSA验签

1 私钥签名public static String signByKey(String content,String privateKey) {PKCS8EncodedKeySpec sp = new PKCS8EncodedKeySpec(new BASE64Decoder().decodeBuffer(privateKey));KeyFactory keyFactory = KeyFactory.getInstance("RSA");PrivateKey key = keyF…
暂无图片
编程学习 ·

springboot静态资源无法加载最后原因竟然是拦截器没有生效

今天打开项目,发现页面的样式没了,用F12调试,果不其然,css,js等样式没有加载成功 后面看控制台发现报 No mapping for GET 静态资源。 很明显,访问静态资源的请求被springboot拦截了。 然后我又看自己写的拦截器 @Overridepublic void addInterceptors(InterceptorRegist…
暂无图片
编程学习 ·

Python爬虫入门教程 72-100 分布式爬虫初步解析-配好环境肝完一半

写在前面 最近该系列的爬虫更新比较慢了,原因是实在写不动了,70多篇博客,每一篇都是一个案例,在写好多都不是篇博客可以容纳的了,而且爬虫的技术在70多篇中都有所涉及了,但是flag既然历下了,那么就必须要把它完成,接下来进入一些稍微稍微麻烦一点的内容,第一个咱就写分…
暂无图片
编程学习 ·

php 一句话木马简介

一句话木马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能。一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。一句话木马工作原理<?php @eval($_POST[shell]);?> 这是php的一句话后门中最普遍的一种。它的工作原理…
暂无图片
编程学习 ·

pandas下-综合练习

综合练习端午节的淘宝粽子交易 端午节的淘宝粽子交易 (1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。 df=pd.read_csv(F:\Datewheel资料\pandas组队学习\Pandas(下)综合练习数据集\端午粽子数据.csv) df.head()df.info()#查看列名 df.columns()注意列名…
暂无图片
编程学习 ·

自以为是的炒股

2019,我回来了投机氛围分析得头头是道噢!GG了还是太年轻了建议:既然无法回本,那就及时止损!!! 投机氛围 进入到了新的公司,接触到了新的同事,当然少不了各种聊,八卦新闻,也会一不小心就聊到了投资理财(股票、基金神马的) 哈哈,还真是一朝被蛇咬,十年怕井绳! A:…
暂无图片
编程学习 ·

LeetCode 58. 最后一个单词的长度

目录结构1.题目2.题解2.1java split()函数2.2字符串遍历1.题目给定一个仅包含大小写字母和空格 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组…
暂无图片
编程学习 ·

英语口语293之每日十句口语

2020/07/02每日十句英语口语associated 相关的、相关联的associative container 关联式容器(对应sequential container)asynchronous 异步的atomic 原子的atomic operation 原子操作attribute 特性、属性authentication service 验证服务authorization 授权audio 音频关注博客…