问题:如何将unicode数据写入/附加到现有文件中



我有一个文件要在其中写入/附加unicode数据,因为它已经是unicode数据(由WMIC文件输出创建)。它从UTF-16(LE)BOM开始:0xFF 0xFE。

我想在一个循环中添加一些信息:

  QString line = QString("%1,%2,%3,%4n")
    .arg( node )
    .arg( *it )
    .arg( sDisplayName )
    .arg( sDisplayVersion );
  out.write( line.toLatin1().data() );

其中:

QFile out;
out.setFileName(filename);

我尝试过不同的东西。我以为QStrings本身就是Unicode。但我想我错过了一些东西——比如设置编码。我的附加字符似乎是用ASCII写的(每个字符只占用一个字节)。

谢谢你的帮助!

干杯Matthias

编辑:好吧,也许问题也出在拉丁美洲1<->UTF-16?

在main中添加这两行,这将使QString使用UTF-8:

QTextCodec::setCodecForTr( QTextCodec::codecForName( "UTF-8" ) );
QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "UTF-8" ) );

对于附件,我发现这个链接可能会有所帮助。

相关内容

  • 没有找到相关文章

最新更新