QString各种字符编码转化,适用不同Linux系统中文乱码问题

QString各种字符编码转化,适用不同Linux系统中文乱码问题

1.转换为UTF-8编码:

QString str = "Hello";
QByteArray utf8Data = str.toUtf8();

2.转换为本地环境的默认编码:

QString str = "Hello";
QByteArray localData = str.toLocal8Bit();

3.从UTF-8编码转换为QString:

QByteArray utf8Data = QByteArray::fromUtf8("Hello");
QString str = QString::fromUtf8(utf8Data);

4.从本地环境的默认编码转换为QString:

QByteArray localData = QByteArray::fromLocal8Bit("Hello");
QString str = QString::fromLocal8Bit(localData);

5.从其他特定编码到QString的转换,例如GBK编码:

QTextCodec *codec = QTextCodec::codecForName("GBK");
QByteArray data = codec->fromUnicode("你好");
QString str = codec->toUnicode(data);

这些示例演示了一些常见的字符编码转换操作。在实际使用中,你需要根据具体的需求选择适当的编码转换方法和对应的编码名称。
请注意,在进行字符编码转换时,需要确保源字符数据的编码和目标编码之间是兼容的,否则可能会导致乱码或转换错误。此外,在执行字符编码转换前,建议包含相关的编码支持库(例如libiconv)以确保能够正确处理各种字符编码。

你可能感兴趣的:(linux,运维,qt,c++,c语言)