由于项目需要,需要对网络资源进行解码。遇到编码问题。研究了下基本编码原理。于是有了下面两个通用代码

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以及国际音标编码问题相关推荐

  1. QT 实现16进制与字符串互转

    QT 实现16进制与字符串互转 文章目录 QT 实现16进制与字符串互转 前言 一.字符串QString转换16进制 二.16进制转换为字符串QString 三.正则表达式限制输入16进制 四.文本自 ...

  2. 16进制unicode编码转string

    公司有个项目读取身份证信息后得到的是16进制的unicode编码,需要解码后才能显示明文.尝试了网上的一些方法后大部分都是失败的,只有一个能用.以下是代码分享: //Cstring 是MFC中的类,若 ...

  3. 16进制unicode转字符串

    public class Test{import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern;p ...

  4. qt 字符串16进制转ascii 字符串ascii转16进制字符串

    16进制转ascii int QHelper::changefromHex_to_ascii(QString str) {int ch = str.toInt(0,16);if ((ch >= ...

  5. QT中16进制二进制字符串的转换

    最近使用串口通信操作nfc卡的扇区内的内容设及到了很多数据类型之间的转换,今天总结一下. 1.10进制16进制字符串相互显示 10->16 int a=10; Qstring b = QStri ...

  6. linux shell 删除key \xAC\xED\x00\x05t\x00\x04${key} 序列化16进制

    背景就是 要查询一批键值对进行删除 通过keys key∗匹配出来要删除的key然后通过del命令删除想着用shell直接把查询出来键{key}* 匹配出来要删除的key 然后通过del命令删除 想着 ...

  7. Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值

    文章目录 前言 简述 ASCII GBK Unicode UTF-8 应用场景 开发环境 编码转换 16进制数值转换为16进制字符 16进制数值转化为字符串 16进制字符串转换为Unicode字符串 ...

  8. qt 中文转十六进制_QT中16进制字符串转汉字

    最经在研究AT指令接受短信,短信是unicode编码,接受后需要根据系统的编码方案进行相关的转码 比如接受到了一串字符4F60597D,它是"你好"的unicode编码,一个uni ...

  9. QTextEdit显示中文乱码解决,中文GB2312转Unicode,QString、QByteArray 转换,16进制显示,toUtf8与toLocal8Bit区别

    QString.QByteArray 的等效转换: QByteArray = QString.toUtf8();// 转换为Unicode字符集编码,多字节编码,单个中文占3~4个字节 QByteAr ...

  10. 汉字转16进制java_java实现汉字转unicode与汉字转16进制实例

    本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode public static String toUnicod ...

最新文章

  1. time 和 datetime 模块
  2. MLP多层感知机 学习笔记
  3. python编程入门经典 评分-关于 Python 的经典入门书籍有哪些?
  4. python判断一个或者多个字符串,是否出现在一段话中
  5. Find a way
  6. ps拖拽组的时候,不卡 - 软件设置篇
  7. CSS语法和CSS优先级
  8. python Scrapy 从零开始学习笔记(一)
  9. Thinkphp3.2 中使用find_in_set
  10. Android库和项目收集-图片
  11. php 利用qrcode生成二维码
  12. java IE11浏览器文件下载的文件名乱码
  13. 高物实验报告计算机模拟高分子,高分子物理实验课程改革的论文
  14. c语言 代码自动补全,codeblocks 设置代码自动补全
  15. Cesium orientation 和 设置初始角度
  16. 工作日志,常见的统计解决方案
  17. 帮我用js写一个微信聊天那种气泡效果
  18. Python挑战游戏( PythonChallenge)闯关之路Level- 4
  19. 软件型企业认定资质的好处
  20. Windows10 如何设置自定义开机音乐

热门文章

  1. 智能科学技术导论周昌乐答案_智能科学技术导论
  2. 如何下载遥感软件ERDAS
  3. 求最大李雅普诺夫指数(Largest Lyapunov Exponents,LLE)的 Rosenstein 算法
  4. PS2018下载PSCC2018安装教程
  5. JavaSE 简单介绍
  6. 初级软考程序员不会c语言,初级程序员考试就这么简单
  7. 学习微机原理与接口这一篇就够了
  8. Echarts地图合并提取
  9. STM32F1系列简单介绍及入门学习
  10. 计算机学院的logo设计原理,logo