Qt char* to QString



我正在尝试将char*转换为QString。这应该是一项琐碎的任务,但问题是,我有以下输入:

item    char [512] "N"  char [512]
    [0] 78 'N'  char
    [1] 0 ''  char
    [2] 73 'I'  char
    [3] 0 ''  char
    [4] 70 'F'  char
    [5] 0 ''  char
    [6] 84 'T'  char
    [7] 0 ''  char
    [8] 89 'Y'  char
    [9] 0 ''  char
    [10]    0 ''  char

注意每个字符' 0'之后的空字符。只需尝试转换它,只会产生字符串" n" ,它应该导致字符串" nifty"

我不确定它是Unicode还是ANSI string(实际上我对此并不了解)。谁能找出这里出了什么问题或我想念什么?

这对我有用:

    char * chr = "NIFTY";
    QString str = QString::fromUtf16((ushort*)(chr));
    qDebug() << str;
 char name[13] = "StudyTonight";

 int namelen = strlen(name);
 QString  result = QString::fromUtf8((const char *)name,namelen);
 qDebug() << result

最新更新