环境: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进制数组(测试代码)的更多相关文章

  1. C# 中关于汉字与16进制转换的代码

    /// <summary> /// 从汉字转换到16进制 /// </summary> /// <param name="s"></par ...

  2. js方法实现rgb颜色转换成16进制格式的代码的方法

    原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...

  3. [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]

    Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...

  4. python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

    进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 ...

  5. C# 发送16进制串口数据

    一个困扰两天的问题:需要通过串口向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符. /// & ...

  6. Android--字符串和16进制相互转化(解决中文乱码)

    import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和 ...

  7. python常用的十进制、16进制、字符串、字节串之间的转换

    进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 ...

  8. python--常用的十进制、16进制、字符串、字节串之间的转换

      进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制 ...

  9. Java中byte与(16进制)字符串的互相转换

    java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16 ...

随机推荐

  1. 如何通过命令行使用Wisdom RESTClient?

    Wisdom RESTClient V1.2版本开始支持命令行方式运行. 工具地址: https://github.com/Wisdom-Projects/rest-client 使用说明:java ...

  2. redis的常用命令01

    启动redis的命令: redis-server redis.windows.conf把redis设置成windows下的服务的命令:输入命令后刷新会出现redis的服务:redis-server - ...

  3. AngularJS之登录显示用户名

    效果图:在这里会显示出来用户名 使用AngularJs进行这样效果 第一步:写ng-app // 定义模块: var app = angular.module("pinyougou" ...

  4. curl 异步捉取数据类

    <?php class RequestLib { /** * GET 请求 * @param string $url */ public static function http_get($ur ...

  5. Vue中的事件与常见的问题处理

    Vue的事件:获取事件对象$event: 事件冒泡:事件会向上传播 原生js阻止事件冒泡,需要先获取事件对象,再调用stopPropagation()方法: vue事件修饰符stop,例@clik.s ...

  6. Angular4.x 创建组件|绑定数据|绑定属性|数据循环|条件判断|事件|表单处理|双向数据绑定

    Angular4.x 创建组件|绑定数据|绑定属性|数据循环|条件判断|事件|表单处理|双向数据绑定 创建 angular 组件 https://github.com/angular/angular- ...

  7. promql查询表达式

    Basics 即时矢量选择器 =:匹配与标签相等的内容!=:不匹配与标签相等的内容=~: 根据正则表达式匹配与标签符合的内容!~:根据正则表达式不匹配与标签符合的内容 示例: http_request ...

  8. luogu1387 最大正方形

    P1387 最大正方形 正方形O(n) 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n, ...

  9. P4313 文理分科

    思路 遇到这种利益冲突的最终利益最大化问题 考虑转化为最小割,使得损失的价值最小 相当于文科是S,理科是T,选出最小割就是确定损失代价最小的方案 然后就把S向每个点连一条cap=art[i][j]的边 ...

  10. 用原型封装一个操作DOM的例子

    <script> // 一句话 在构造函数里面写属性 在原型里面写方法 function Elem(d){ this.even=document.getElementById(d); } ...