Qt532的QString输出各种编码的16进制数组(测试代码)
环境:Win7x64、Qt5.3.2 MSVC2010 OpenGL、vs2010
1、只测试了 4种:Utf8、Latin1、Local8Bit、unicode
2、测试代码:(这个是 "MainWindow.cpp",文件的编码方式是 "UTF8 + BOM")
#include "MainWindow.h"
#include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
} MainWindow::~MainWindow()
{
delete ui;
} #include <QTextCodec> const char* JDP = "接地牌";
QString g_JDP = QString::null; const char* KG_0 = "开关_0";
const char* KG_1 = "#开关_1";
const char* ZD_0 = "#闸刀_0";
const char* ZD_1 = "#闸刀_1";
const char* DD_0 = "#地刀_0";
const char* DD_1 = "#地刀_1"; const char* PB = "配变";
const char* DLSRDQ_0 = "跌落式熔断器_0";
const char* DLSRDQ_1 = "#跌落式熔断器_1";
const char* TJX = "T接线"; const char* TXLXMC = "图形类型名称";
//const char* YZSJB = "有载三卷变"; const char* UnitClassify_YZLJB = "有载两卷变";
const char* UnitClassify_YZSJB = "有载三卷变";
const char* UnitClassify_SCKG = "手车开关";
const char* UnitClassify_TextRect = "文本框"; // *** QString g_KG_0 = QString::null;
QString g_KG_1 = QString::null;
QString g_ZD_0 = QString::null;
QString g_ZD_1 = QString::null;
QString g_DD_0 = QString::null;
QString g_DD_1 = QString::null; QString g_PB = QString::null;
QString g_DLSRDQ_0 = QString::null;
QString g_DLSRDQ_1 = QString::null;
QString g_TJX = QString::null; QString g_TXLXMC = QString::null;
//QString g_YZSJB = QString::null; QString g_UnitClassify_YZLJB = QString::null;
QString g_UnitClassify_YZSJB = QString::null;
QString g_UnitClassify_SCKG = QString::null;
QString g_UnitClassify_TextRect = QString::null; const char* Test_Z01 = "Unicode编码的字符串(ZC: 双字节)";
QString g_Test_Z01 = QString::null; void StringCHS_init()
{
QTextCodec *pCodec = QTextCodec::codecForName("GBK"); g_JDP = pCodec->toUnicode(JDP); g_KG_0 = pCodec->toUnicode(KG_0);
g_KG_1 = pCodec->toUnicode(KG_1);
g_ZD_0 = pCodec->toUnicode(ZD_0);
g_ZD_1 = pCodec->toUnicode(ZD_1);
g_DD_0 = pCodec->toUnicode(DD_0);
g_DD_1 = pCodec->toUnicode(DD_1); g_PB = pCodec->toUnicode(PB);
g_DLSRDQ_0 = pCodec->toUnicode(DLSRDQ_0);
g_DLSRDQ_1 = pCodec->toUnicode(DLSRDQ_1);
g_TJX = pCodec->toUnicode(TJX); g_TXLXMC = pCodec->toUnicode(TXLXMC);
//g_YZSJB = pCodec->toUnicode(YZSJB); g_UnitClassify_YZLJB = pCodec->toUnicode(UnitClassify_YZLJB);
g_UnitClassify_YZSJB = pCodec->toUnicode(UnitClassify_YZSJB);
g_UnitClassify_SCKG = pCodec->toUnicode(UnitClassify_SCKG);
g_UnitClassify_TextRect = pCodec->toUnicode(UnitClassify_TextRect); g_Test_Z01 = pCodec->toUnicode(Test_Z01);
} #include <QDebug> void MainWindow::on_pbtn2Utf8_clicked()
{
StringCHS_init();
QString strPrint(""); QByteArray ba = g_Test_Z01.toUtf8();
for (int i=; i<ba.length(); i++)
{
char c = ba.at(i);
strPrint += QString::number( ((int)c)&0xFF, ) + " ";
}
qDebug() << "Utf8 :";
qDebug() << strPrint; qDebug() << ""; strPrint.clear();
ba = g_Test_Z01.toLatin1();
for (int i=; i<ba.length(); i++)
{
char c = ba.at(i);
strPrint += QString::number( ((int)c)&0xFF, ) + " ";
}
qDebug() << "Latin1 :";
qDebug() << strPrint; qDebug() << ""; strPrint.clear();
ba = g_Test_Z01.toLocal8Bit();
for (int i=; i<ba.length(); i++)
{
char c = ba.at(i);
strPrint += QString::number( ((int)c)&0xFF, ) + " ";
}
qDebug() << "Local8Bit :";
qDebug() << strPrint; qDebug() << ""; strPrint.clear();
for (int i=; i<g_Test_Z01.length(); i++)
{
QChar qc = g_Test_Z01.at(i);
ushort us = qc.unicode();
strPrint += QString::number( us, ) + " ";
}
qDebug() << "unicode :";
qDebug() << strPrint;
}
3、
4、
5、
Qt532的QString输出各种编码的16进制数组(测试代码)的更多相关文章
- C# 中关于汉字与16进制转换的代码
/// <summary> /// 从汉字转换到16进制 /// </summary> /// <param name="s"></par ...
- js方法实现rgb颜色转换成16进制格式的代码的方法
原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...
- [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]
Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...
- python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 ...
- C# 发送16进制串口数据
一个困扰两天的问题:需要通过串口向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符. /// & ...
- Android--字符串和16进制相互转化(解决中文乱码)
import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和 ...
- python常用的十进制、16进制、字符串、字节串之间的转换
进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 ...
- python--常用的十进制、16进制、字符串、字节串之间的转换
进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制 ...
- Java中byte与(16进制)字符串的互相转换
java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16 ...
随机推荐
- 一个六年Java程序员的从业总结:比起掉发,我更怕掉队
我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕. 当年纪越来越大后,我开始变得不能加班.我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样 ...
- RabbitMQ的安装与基本使用
运行环境:https://oneinstack.com/install/ 在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提 ...
- win7使用问题解决
1. VM和主机互相PING不通 问题:桥接模式,VM可以ping 通外网,可以ping 通局域网其它机子,就是ping 不通本地主机 解决:将 vm网卡和本地网连接网卡都共享出来
- Fedora 全局代理上网设置
1.首先新建一个bash文件 vim /etc/profile.d/proxy.sh 加入以下内容 (有账号密码) export HTTP_PROXY="http://username:pa ...
- python简说(二十五)面向对象
面向对象编程: 类 一个种类.一个模型 实例.实例化.对象 实例.对象: 根据模型制作出来的东西. 实例化: 就是做东西的这个过程. class My: my=My() 私有 方法 类里面的函数 属性 ...
- 一、变量.二、过滤器(filter).三、标签(tag).四、条件分支tag.五、迭代器tag.六、自定义过滤器与标签.七、全系统过滤器(了解)
一.变量 ''' 1.视图函数可以通过两种方式将变量传递给模板页面 -- render(request, 'test_page.html', {'变量key1': '变量值1', ..., '变量ke ...
- Error: php71w-common conflicts with php-common-5.4.16-46.el7.x86_64
Centos7.3 阿里云主机 安装zabbix报错 问题: [root@lvhanzhi code]# yum install -y zabbix-web-mysql zabbix-agent ma ...
- CSS的再深入3(更新中···)
在前面,我们学习了标准文档流,但在实际制作的过程中,用标准文档流书写显然是不现实的,因此,我们来了解几种脱离标准文档流的方法: 1.float 浮动 float:left/right:(左浮/右浮) ...
- 古堡算式|2012年蓝桥杯B组题解析第二题-fishers
(4')古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生: ...
- C# 中2个问号的作用。C#的??代表是什么意思
https://www.cnblogs.com/gggg/p/5867412.html 变量定义中含有一个问号,意思是这个数据类型是NullAble类型的.(NullAble意思是可以为空) 变量定义 ...