때때로 나는 값이 "\ u0000"인 QString을 수신하고 수신 된 문자열이 "\ u0000"과 같은지 확인하고 싶습니다. 그러나 내가 시도 할 때 :
qDebug() << QString("\u0000") << QString::fromUtf8("\u0000");
출력을 얻습니다. "\u0001"
"\u0001"
결과적으로 문자열을 비교할 수 없습니다. 처음에이 문자열은 snprintf
char *를 얻기 위해 바이트에서 생성 된 다음 std :: string에서 std :: string 및 QString을 생성했지만 지금까지는 실제로 재현 할 수 없습니다. 그러나 이것이 해결 방법이라고 생각하지만 쉬운 방법은 아닙니다.
\u0000
QString API를 사용하여 값이있는 QString을 생성하는 방법 과 QString("\u0000")
값이 "\ u0001"인 이유 는 무엇입니까?
그런 문자열을 만드는 방법을 알아 냈습니다.
QString str(1, QChar('\0'));
또는 std :: string에서 :
QString::fromStdString(std::string("\0", 1));
하지만 왜 QString("\u0000")
결과가 "\ u0001" 인지 모르겠습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다