关于字符编码Qt
QString中汉字是按照UTF-8编码的,QString::toUtf8是输出UTF-8字符集,QString::local8bit是本地操作系统的字符集,QString::tolatin是Ascii码字符集
下图代码中,汉字转成latin
QString tmp="汉字";是无意义的,因为ascii里就没有中文的编码呀,所以会返回3f即问号 qDebug() << "tmp=" << tmp << endl; qDebug() << "toUtf8" << tmp.toUtf8() << endl; //返回utf8编码的一串数字 qDebug() << "toLatin1" << tmp.toLatin1() << endl; //"汉字"不在latin1字符集中,所以结果无意义(为??) char *p = new char[1+strlen(tmp.toLatin1().data())]; strcpy(p, tmp.toLatin1().data()); for (int i=0; p[i] != '\0'; i++) { printf("0x%02x ", p[i]); } printf("\n"); delete p; qDebug() << "toLocal8bit" << tmp.toLocal8Bit() << endl;//
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异