QString, QByteArray, QDataStream, QStringLiteral 用法验证
// 要么使用"QStringLiteral",要么使用"#pragma execution_character_set("utf-8")",但不能同时使用。 // 长度是6,宽字符。 QString s(QStringLiteral("ABCD中文")); // b1长度:10,能恢复 QByteArray b1 = s.toUtf8(); QString s1 = b1; // b2长度:6,不能恢复 QByteArray b2 = s.toLatin1(); QString s2 = b2; // b3与b1相同,能恢复 QByteArray b3 = s.toStdString().c_str(); QString s3 = b3; // b4长度:16,前4个字节是内容长度,即12,后面12字节是内容 QByteArray b4; QDataStream out4(&b4, QIODevice::WriteOnly); out4 << s; QString s4_0 = b4; // 格式不对,赋值后s4_0为空 QString s4_1; QDataStream in4(&b4, QIODevice::ReadOnly); in4 >> s4_1; // 能恢复 // b5长度:14,前4个字节是内容长度,即10,后面10字节是内容 QByteArray b5; QDataStream out5(&b5, QIODevice::WriteOnly); out5 << s.toUtf8(); QString s5_0 = b5; // 格式不对,赋值后s4_0为空 QString s5_1; QDataStream in5(&b5, QIODevice::ReadOnly); in5 >> s5_1; // 不能恢复,是乱码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?