Qt实现16进制unicode转utf-8以及国际音标编码问题
由于项目需要,需要对网络资源进行解码。遇到编码问题。研究了下基本编码原理。于是有了下面两个通用代码
1. 16进制unicode转换为utf-8中文显示QString unicodeToUtf_8(const QString &resStr)
{// unicode转utf-8 思路: 一个unicode编码占用2字节。所以只需要用4个16进制数字结合表示就行了QString temp;for (int i = 0; i< resStr.length();){if (resStr.at(i) == '\\'){QString str = resStr.mid(i+2, 4);temp.append(str.toUShort(0, 16));i += 6;}else{temp.append(resStr.at(i));++i;}}QTextCodec *codec = QTextCodec::codecForName("UTF-8");QString desStr = codec->fromUnicode(temp);return QObject::trUtf8(desStr.toLatin1().data());
}2. 如何显示网络中返回的16进制unicode编码的音标??QString getTheDecodeSymbol(const QString &resStr)
{// 如何把16进制的unicode编码音标显示在窗口中?// 比如: \u00a0[\u026an\u02c8ta\u026at(\u0259)lm\u0259nt]// 解码思路如下: 先把16进制unicode编码转换为 10进制unicode编码// 转换方法就是下面的代码// 那么如何显示呢?// 借助QLabel的设置字体// tr("<span style='font-family:\"MS Mincho\";'>%1</span>").arg(data);即可QString desStr;for (int i = 0; i< resStr.length();){if (resStr.at(i) == '\\'){QString str = resStr.mid(i+2, 4);desStr.append(tr("&#%1;").arg(str.toInt(0, 16)));i += 6;}else{desStr.append(resStr.at(i));++i;}}return desStr;
}
Qt实现16进制unicode转utf-8以及国际音标编码问题相关推荐
- QT 实现16进制与字符串互转
QT 实现16进制与字符串互转 文章目录 QT 实现16进制与字符串互转 前言 一.字符串QString转换16进制 二.16进制转换为字符串QString 三.正则表达式限制输入16进制 四.文本自 ...
- 16进制unicode编码转string
公司有个项目读取身份证信息后得到的是16进制的unicode编码,需要解码后才能显示明文.尝试了网上的一些方法后大部分都是失败的,只有一个能用.以下是代码分享: //Cstring 是MFC中的类,若 ...
- 16进制unicode转字符串
public class Test{import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern;p ...
- qt 字符串16进制转ascii 字符串ascii转16进制字符串
16进制转ascii int QHelper::changefromHex_to_ascii(QString str) {int ch = str.toInt(0,16);if ((ch >= ...
- QT中16进制二进制字符串的转换
最近使用串口通信操作nfc卡的扇区内的内容设及到了很多数据类型之间的转换,今天总结一下. 1.10进制16进制字符串相互显示 10->16 int a=10; Qstring b = QStri ...
- linux shell 删除key \xAC\xED\x00\x05t\x00\x04${key} 序列化16进制
背景就是 要查询一批键值对进行删除 通过keys key∗匹配出来要删除的key然后通过del命令删除想着用shell直接把查询出来键{key}* 匹配出来要删除的key 然后通过del命令删除 想着 ...
- Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值
文章目录 前言 简述 ASCII GBK Unicode UTF-8 应用场景 开发环境 编码转换 16进制数值转换为16进制字符 16进制数值转化为字符串 16进制字符串转换为Unicode字符串 ...
- qt 中文转十六进制_QT中16进制字符串转汉字
最经在研究AT指令接受短信,短信是unicode编码,接受后需要根据系统的编码方案进行相关的转码 比如接受到了一串字符4F60597D,它是"你好"的unicode编码,一个uni ...
- QTextEdit显示中文乱码解决,中文GB2312转Unicode,QString、QByteArray 转换,16进制显示,toUtf8与toLocal8Bit区别
QString.QByteArray 的等效转换: QByteArray = QString.toUtf8();// 转换为Unicode字符集编码,多字节编码,单个中文占3~4个字节 QByteAr ...
- 汉字转16进制java_java实现汉字转unicode与汉字转16进制实例
本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode public static String toUnicod ...
最新文章
- time 和 datetime 模块
- MLP多层感知机 学习笔记
- python编程入门经典 评分-关于 Python 的经典入门书籍有哪些?
- python判断一个或者多个字符串,是否出现在一段话中
- Find a way
- ps拖拽组的时候,不卡 - 软件设置篇
- CSS语法和CSS优先级
- python Scrapy 从零开始学习笔记(一)
- Thinkphp3.2 中使用find_in_set
- Android库和项目收集-图片
- php 利用qrcode生成二维码
- java IE11浏览器文件下载的文件名乱码
- 高物实验报告计算机模拟高分子,高分子物理实验课程改革的论文
- c语言 代码自动补全,codeblocks 设置代码自动补全
- Cesium orientation 和 设置初始角度
- 工作日志,常见的统计解决方案
- 帮我用js写一个微信聊天那种气泡效果
- Python挑战游戏( PythonChallenge)闯关之路Level- 4
- 软件型企业认定资质的好处
- Windows10 如何设置自定义开机音乐