tcp를 통해 인코딩 된 유니 코드를 사용하여 런타임 문자열을받는 응용 프로그램을 작성하고 있습니다. 예제 문자열은 "\ u7cfb \ u8eca \ u4e21 \ uff1a \ u6771 \ u5317 ..."입니다. 나는 다음과 같은 있지만 불행히도 때문에 만날 수있는 컴파일 시간 : 불완전한 보편적 인 문자 이름 \ u는 그 때부터 컴파일 시간에 기대하는 4 16 진수 문자. 내가 런타임에 대한 해결책을 모색하고있어런타임 유니 코드 문자열 복원
QString restoreUnicode(QString strText)
{
QRegExp rx("\\\\u([0-9a-z]){4}");
return strText.replace(rx, QString::fromUtf8("\u\\1"));
}
, 나는 나는이 문자열을 끊고 후 그 헥사 값을 변환하는 몇 가지 조작을 예견 할 수있는 "u는 \"기본 다음 10로 분리 문자의 생성자로 전달 QChar하지만 나는 그러한 방법으로 발생하는 시간 복잡성에 대해 매우 우려하고 전문가는 아니기 때문에 나는 더 좋은 방법을 찾고 있습니다.
해결책이나 요령이있는 사람이 있습니까?
'fromUtf8 ("\\ u \\ 1")'wor 케이? 당신의 생각은 다음과 같은 문제가 있습니다 :'const char razy [] = "lass"; 미친 푸 (int a; 부울 b; };' –
왜 소켓을 통해 데이터를 인코딩/디코딩하는'QDataStream'을 사용하지 않습니까? –
서버를 제어 할 권한이 없습니다. 제 3 자 데이터 스트림은 ascii와 약간의 경우가 포함 된 유니 코드가 섞여 있기 때문에 작업 할 수 있습니다. 나는 잘 작동하는 해결책을 만들었고, 자신의 질문 타이머가이 사이트에서 만료 될 때 6 시간 만에 게시 할 것입니다. – Will