4 个解决方案
#1
你可以自己编写一段代码啊,使用BYTE类型获取中文字串后,写到新的字串中,写入前进行判断,如果是中文,则先写入一个“%”,之后判断每个字节的值,对应的高四位和低四位转换成ASCII码,比如说0xD2 0xBD 这个GB2312编码汉字“医”,先进行UTF-8转换,转换成0xE5 0x8C 0xBB,这样的三个字节的数据,之后转换的时候变成“%”“E”“5”“%”“8”“C”“%”“B”“B”,这样就行了。
#2
QTextCodec *utf8 = QTextCodec::codecForName("utf-8");现在encoded里面装的就是以百分号编码的字符。(注意源码字符集的问题,我这里使用的是QString::fromUtf8)
QByteArray encoded = utf8->fromUnicode(QString::fromUtf8("我们")).toPercentEncoding();
#3
做过类似爬虫的事情。
楼主这样做的目的是什么?透露下呗
楼主这样做的目的是什么?透露下呗
#4
![Qt中文转换为utf8编码的url编码格式 Qt中文转换为utf8编码的url编码格式](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBeEwyWmhZMlV2TVRNdVoybG0%3D.jpg?w=700&webp=1)
![Qt中文转换为utf8编码的url编码格式 Qt中文转换为utf8编码的url编码格式](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THprdVoybG0%3D.jpg?w=700&webp=1)
#1
你可以自己编写一段代码啊,使用BYTE类型获取中文字串后,写到新的字串中,写入前进行判断,如果是中文,则先写入一个“%”,之后判断每个字节的值,对应的高四位和低四位转换成ASCII码,比如说0xD2 0xBD 这个GB2312编码汉字“医”,先进行UTF-8转换,转换成0xE5 0x8C 0xBB,这样的三个字节的数据,之后转换的时候变成“%”“E”“5”“%”“8”“C”“%”“B”“B”,这样就行了。
#2
QTextCodec *utf8 = QTextCodec::codecForName("utf-8");现在encoded里面装的就是以百分号编码的字符。(注意源码字符集的问题,我这里使用的是QString::fromUtf8)
QByteArray encoded = utf8->fromUnicode(QString::fromUtf8("我们")).toPercentEncoding();
#3
做过类似爬虫的事情。
楼主这样做的目的是什么?透露下呗
楼主这样做的目的是什么?透露下呗
#4
![Qt中文转换为utf8编码的url编码格式 Qt中文转换为utf8编码的url编码格式](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBeEwyWmhZMlV2TVRNdVoybG0%3D.jpg?w=700&webp=1)
![Qt中文转换为utf8编码的url编码格式 Qt中文转换为utf8编码的url编码格式](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THprdVoybG0%3D.jpg?w=700&webp=1)