Qt World Summit: Register Today!


QByteArray获取的数据中包含16进制数,如何转换成汉字?



  • 使用QProcess获取的QByteArray中包含16进制数,像"\tSSID: \xe5\xa4\xa7\xe5\xae\xb6\xe5\xa5\xbd\n“,如何将其转换为汉字?使用QString::fromUtf8()无法转换为汉字。以下是我通过qDebug()获取到QByteArray数据的全部内容:"\tSSID: \xe5\xa4\xa7\xe5\xae\xb6\xe5\xa5\xbd\n\tSSID: eNewie\n\t\t * UTF-8 SSID\n\tSSID: ChinaNet-Zym4-5G\n\tSSID: 119-120\n\tSSID: kitovsystems_5G\n\tSSID: ChinaNet-tK6P\n\tSSID: ChinaNet-Hwx5MF-5G\n\tSSID: ZZZX\n\tSSID: ChinaNet-Zym4\n\tSSID: simatech_2A44\n\tSSID: ChinaNet-Hwx5MF\n\tSSID: ChinaNet-sWRz\n\tSSID: ZZZX\n\tSSID: TSING\n\tSSID: KedacomNet-YQAU\n\tSSID: CU_k7fe\n\tSSID: KedacomNet-YQ\n\tSSID: Mobile WiFi\n\tSSID: DIRECT-E1-HP Laser 150nw\n\tSSID: KedacomNet-YQ\n\tSSID: ChinaNet-bACS\n\tSSID: iTV-bACS\n\tSSID: DIRECT-D9-HP Laser 136nw\n\tSSID: \x00\n\t\t * UTF-8 SSID\n\tSSID: TMK\n\tSSID: ChinaNet-2dvE\n\tSSID: KedacomNet-YQ\n\tSSID: KedacomNet-YQAU\n"



  • 你获取的QByteArray是从哪里读到的?原来字符串的编码可能是GBK,不是utf-8。



  • 尝试使用 QString::fromXXX 系列API


Log in to reply