Есть ли способ обнаружить кодировку std::string
?std :: string с различным кодированием в QString
Моя проблема: у меня есть внешние веб-службы, которые предоставляют данные в разных кодировках. Также у меня есть библиотека, которая анализирует эти данные и сохраняет их в std :: string. Чем я хочу отображать данные в Qt GUI. Проблема в том, что std :: string может иметь разные кодировки. Некоторая строка может быть преобразована с использованием QString::fromAscii()
, некоторые QString::fromUtf8()
.
'void print_values (const char * in_string) { \t printf (" {"); \t для (INT I = 0; in_string [I] = 0;! Я ++) { \t \t \t Е ("% d", in_string [I]); \t \t if (in_string [i + 1]! = 0) \t \t \t printf (","); \t} \t printf ("} \ n"); } int main (int argc, char ** argv) { \t QString test ("iNyuu"); \t const char * ascii = test.ascii(); \t const char * utf8 = test.utf8(); \t printf ("ascii ="); print_values (ASCII); \t printf ("utf8 ="); print_values (utf8); \t возвращение 0; } // Не знаю, я вижу «QCString utf8() const» (utf не возвращает массив символов здесь и не уверен для Qt4 // вы использовали «operator std :: string() const»? // попробуйте схожий материал с std :: string – iNyuu