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 ...
随机推荐
- Kattis之旅——Prime Path
The ministers of the cabinet were quite upset by the message from the Chief of Security stating that ...
- 4~20mA
4~20mA电流输出芯片XTR111完整电路 0-5v转0-20ma和0-5v转4-20ma 压控恒流源电路 4-20mA电流环路发送器入门
- VIM编码检查
trouble shooting https://www.django.cn/article/show-4.html https://blog.csdn.net/lh756437907/article ...
- ELK日志分析系统
部署环境 192.168.1.147 kibana.logstash.Escluster-node-1 192.168.1.151 filebeat.Escluster-node-2.nginx 软件 ...
- Docker学习笔记之通过 Dockerfile 创建镜像
0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...
- window apidoc的安装和使用
apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用者仅需要按照要求书写相关注释,就可以生成可读性好.界面美观的在线接 ...
- The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案
今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...
- Tree Implementation with Python
Tree Implementation with Python List of List 代码如下: def binary_tree(val): return [val, [], []] def in ...
- linux服务器启动报错UNEXPECTED INCONSISTENCY解决方法
内网的linux服务器给开发员用来测试以及共享文件使用,今天早上发现xshell连接不上该服务器,一开始进入系统显示reboot and select proper boot device or in ...
- Docker 编排工具Rancher 1.6.18
使用docker获取rancher [root@localhost /]# docker pull rancher/server:stable [root@localhost /]# docker i ...