Я пытаюсь конвертировать char*
в QString
, Это должно быть тривиальной задачей, но проблема заключается в следующем:
item char [512] "N" char [512]
[0] 78 'N' char
[1] 0 '\0' char
[2] 73 'I' char
[3] 0 '\0' char
[4] 70 'F' char
[5] 0 '\0' char
[6] 84 'T' char
[7] 0 '\0' char
[8] 89 'Y' char
[9] 0 '\0' char
[10] 0 '\0' char
Обратите внимание на нулевой символ после каждого символа ‘\ 0’. Просто пытаясь преобразовать это просто возвращает строку «N», где, как это должно привести к строке «NIFTY».
Я не уверен, что это Unicode или Ansi string
(на самом деле я не знаю много об этом). Может кто-нибудь, пожалуйста, разобраться, что здесь происходит не так или что я пропускаю?
Это сработало для меня:
char * chr = "N\0I\0F\0T\0Y\0\0";
QString str = QString::fromUtf16((ushort*)(chr));
qDebug() << str;
Других решений пока нет …