一些QT的字符转换
来源:互联网 发布:艾瑞德生物科技知乎 编辑:程序博客网 时间:2024/06/05 17:32
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
说明:windows中ie地址栏写“我们”
发送到服务器端会变为“%CE%D2%C3%C7”,
是GB2312转换成URL 百分号编码的形式ubuntu中firefox地址栏写“我们”发送到服务器变成”%E6%88%91%E4%BB%AC”,
是UTF-8转换成URL 百分号编码的形式
下面分享汇总后的转换代码:(我的环境:ubuntu10.10 QT4.6.2)01
//Ubuntu firefox http get "我们" %E6%88%91%E4%BB%AC UTF-802
//Windows ie http get "我们" %CE%D2%C3%C7 GB231203
char* s="0x我们";
//UTF-8 char*
QString strT1="0x%CE%D2%C3%C7";
//GB2312的URL百分号编码05
QByteArray baT1,baT2,baT3,baT4;
PercentEncoding2ByteArray(strT1, baT1); //自己写的函数,由于QUrl::fromPercentEncoding仅适用UTF-8的URL编码
strT1=QTextCodec::codecForName("GB2312")->toUnicode(baT1); //GB2312's QByteArray Convert to QString Unicode
baT2=QTextCodec::codecForName("GB2312")->fromUnicode(strT1); //QString Unicode convert to GB2312 QByteArray
QString strT2,strT3,strT4,strT5;
strT2=QTextCodec::codecForName("UTF-8")->toUnicode("0x我们"); //UTF-8 Char* to Unicode QString
baT3=QTextCodec::codecForName("UTF-8")->fromUnicode(strT2); //Unicode QString to UTF-8 QByteArray
strT3=QTextCodec::codecForName("UTF-8")->toUnicode(s); //UTF-8 Char* to Unicode QString
strT4=QUrl::toPercentEncoding(QString::fromLocal8Bit(s)); //UTF-8 Char* to PercentEncoding (UTF-8 format)
strT5=QUrl::fromPercentEncoding("0x%E6%88%91%E4%BB%AC"); //PercentEncoding (UTF-8 format) to Unicode
baT4=QTextCodec::codecForName("GB2312")->fromUnicode(QTextCodec::codecForName("UTF-8")->toUnicode(s)); //UTF-8 Char* to GB2312 QByteArray
另附一个小函数:(用于GB2312的URL百分号编码转换)
void PercentEncoding2ByteArray(QString strInput, QByteArray & ByteArrayOut)
{
for(int i=0; i<strInput.length();)
{
if (0==QString::compare(strInput.mid(i,1), QString("%")))
{
if ((i+2)<strInput.length())
{09 ByteArrayOut.append(strInput.mid(i+1,2).toShort(0,16));
i=i+3;11 }12 else13 {14 ByteArrayOut.append(strInput.mid(i,1));
i++;
}
}
else
{
ByteArrayOut.append(strInput.mid(i,1));
i++;
}
}
//For end
}// PercentEncodin
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
- 一些QT的字符转换
- qt中字符的转换
- qt中字符的转换 .
- QT的字符编码转换 .
- QT的字符编码转换
- 关于字符的一些转换
- 一些常用的字符转换
- QT下中文字符编码的转换
- QT下中文字符编码的转换
- QT字符转换
- Qt--字符转换
- qt字符乱码转换.
- Qt--字符转换
- 字符编码转换 QT
- QT字符转换
- Qt中一些常用的格式转换
- XML一些字符的转换设置
- c++ 常用的一些字符转换
- 输入时间求下一秒的时间(闲的没事练了一下c语言)
- 在MyEclipse中运行tomcat出现Error initializing endpoint错误
- QQ找茬辅助器
- delphi发送邮件程序
- 用友年结时存货核算总账结转失败解决方法
- 一些QT的字符转换
- hdu 1172 猜数字
- nginx配置
- 2011的总结(感谢自己,感恩他人)【转自我的新浪博客】
- 远程控制关键技术之混合协议
- oracle impdp的table_exists_action详解
- C++ 类的定义
- VirtualBox cannot ping Windows7 (host), Ubuntu (guest)
- 实体与值对象