Qt: как записать / добавить данные Unicode в существующий файл - PullRequest
2 голосов
/ 22 июня 2011

У меня есть файл, в который я хочу записать / добавить данные Unicode, потому что это уже данные Unicode (созданные при выводе файла WMIC).Он начинается с UTF-16 (LE) BOM: 0xFF 0xFE.

Я хотел бы добавить некоторую информацию в цикл:

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

Где:

QFile out;
out.setFileName(filename);

Я пробовал разные вещи.Я думал, что сами QStrings, где Unicode.Но я думаю, что мне чего-то не хватает - например, настройки кодировки.Кажется, мои добавленные символы написаны как ASCII (только по одному байту каждый).

Спасибо за вашу помощь!

Приветствия Матиаса

Редактировать: хорошо, возможно, проблема такжеLatin1 <-> UTF-16?

1 Ответ

0 голосов
/ 28 июля 2012

В основном добавьте эти две строки, которые заставят QString использовать UTF-8:

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

И для добавления я нашел эту ссылку , которая может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...