把UnicodeHex字符串转QString字符串
来源:互联网 发布:淘宝怎么刷信誉赚钱 编辑:程序博客网 时间:2024/06/10 05:20
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
有时我们或许需要把字节码流转换成文本,ansi/utf8的话是比较好转的,但对于unicode的话,是双字节文本的,转换起来还是需要一些特殊考虑的,例如大端小端的考虑。
把QString的UnicodeHex串转换到QString的文本
QString CTextHexDecode::unioceHexToText(QString sHexText){ sHexText = sHexText.remove(QRegularExpression(QString("[^0-9a-fA-F]"), QRegularExpression::NoPatternOption)); QByteArray srcByteArray = sHexText.toLocal8Bit(); std::wstring dest; for (int i=3; i<=srcByteArray.length(); i=i+4) { wchar_t ch = convertHexToWChar(srcByteArray[i-3], srcByteArray[i-2], srcByteArray[i-1], srcByteArray[i]); dest.push_back(ch); } return QString::fromStdWString(dest);}
把Hex字符压缩到wchar中
inline unsigned char convertAscToHex(unsigned char ch){ if((ch >= '0') && (ch <= '9')) return ch - '0'; else if((ch >= 'a') && (ch <= 'e')) return ch - 'a' + 10; else return ch - 'A' + 10;}wchar_t convertHexToWChar(char ch1, char ch2, char ch3, char ch4){ // little Endian unsigned short charLow = convertHexToChar(ch1, ch2); unsigned short charHigh = convertHexToChar(ch3, ch4); return ( charHigh << 8) | charLow;}unsigned char convertHexToChar(char ch1, char ch2){ return (convertAscToHex(ch1) << 4) | convertAscToHex(ch2);}
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
阅读全文
0 0
- 把UnicodeHex字符串转QString字符串
- QString转Char*字符串
- char* 字符串转QString
- QT uint 转QString QString增加字符串
- QString字符串
- QString字符串类
- QString字符串的split
- 3.字符串类QString
- QString 截取分割字符串
- Qt字符串类QString
- QString截取分割字符串
- Qt入门-字符串类QString
- 常用的QString字符串类
- Qt-QString字符串类
- Qt中的字符串类QString
- Qt的QString字符串操作
- Qt入门-字符串类QString
- Qt中的字符串类QString
- 523_播放raw中的视频文件
- ZooKeeper集群部署方式
- 正则表达式-元字符
- mysql show profile
- Python默认编码错误SyntaxError: Non-ASCII character '\xe5'之解决方法
- 把UnicodeHex字符串转QString字符串
- gitblit证书过期
- 【HPU-2016校赛-G】確率
- ACM暑假训练日记 17.8.21
- java
- Jquery--事件
- <C语言>消除字符串中的空格--附:消除fgets()函数吃进去的回车符
- powerdesigner 在连接线上显示关系名
- java类的加载机制