перевести в wxString \320\235\320\265\320\264\32 и т.д.

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Sat Oct 21, 2017 1:52 am

Как понять что тут написано?
Или как первести это в wxString?

Я отпрвляю запрос на WEB службу, а в ответ получаю это и не пойму как это перевести на нормальный язык

Code: Select all

<ErrText xsi:type="xsd:string">
         [truncated]\320\235\320\265\320\264\320\276\320\277\321\203\321\201\321\202\320\270\320\274\320\276\320\265 \320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265 \320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\
</ErrText>
 
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2468
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby ONEEYEMAN » Mon Oct 30, 2017 9:02 pm

Dobrogo vremeni sutok,
V kakom brauzere otobragaete rezultat? Kakaja kodirovka stoit v brauzere? Kakaja kodirovka u WEB-prilogenija?

Spasibo.

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Mon Oct 30, 2017 10:01 pm

Это ни в браузере, а перехват ч/з WireShark.
В code::blocks тоже самое показывает
Там походу буфер Unicode строки показывается, но не знаю как это перевести в wxString
Attachments
2.jpeg
regards,
Alexander Saprykin
www.wxwidgets.ru

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Tue Oct 31, 2017 1:31 am

точнее я получаю строку

Code: Select all

   //так я вижу эту переменную в code::blocks
   std::string str = "\320\235\320\265\320\264\32 и т.д."


Перепробовал из этих примеров
https://wiki.wxwidgets.org/Converting_e ... m_wxString

ничего не помогло
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2468
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby ONEEYEMAN » Tue Oct 31, 2017 1:41 am

Доброго времени суток,
А Вы уверены что это именно текст а не что-то другое?

Спасибо.

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Tue Oct 31, 2017 2:44 am

да, это ответное сообщение об ошибке в моём запросе
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2468
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby ONEEYEMAN » Tue Oct 31, 2017 12:42 pm

В какой кодировке работает сервер?

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Tue Oct 31, 2017 1:40 pm

в WSDL написано UtF-8
regards,
Alexander Saprykin
www.wxwidgets.ru

User avatar
T-Rex
Moderator
Moderator
Posts: 1155
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby T-Rex » Wed Nov 01, 2017 1:56 pm

Для С++ это не валидное написание Unicode-символов.
Должно быть как-то так:

Code: Select all

char b = '\u0444';

Если приходит прям в таком виде, как в описании поста, то только парсить, при чем \320 это три символа в строке сейчас: '\3', '2', '0'
Можешь выложить файл дампа Wireshark? Так будет проще понять, что происходит и какая там кодировка.
Как вариант, взять файл дампа, открыть в Notepad++, поиграться с кодировками и посмотреть в какой он отображается как читаемый текст, потом программно преобразовать текст через что-то из wxMBConv.

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 165
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby cutecode » Sun Nov 05, 2017 5:19 pm

только щас догадался как сделать дамп

напомню, я получаю ответ в строку типа std::string
Attachments
2.txt
(124 Bytes) Downloaded 51 times
Безымянный.png
Безымянный.png (14.99 KiB) Viewed 933 times
Безымянный2.png
Безымянный2.png (5.35 KiB) Viewed 933 times
regards,
Alexander Saprykin
www.wxwidgets.ru

User avatar
T-Rex
Moderator
Moderator
Posts: 1155
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: перевести в wxString \320\235\320\265\320\264\32 и т.д.

Postby T-Rex » Mon Nov 06, 2017 4:05 pm

Вот прям чтобы std::string... как-то так, на скорую руку:

Code: Select all

void test()
{
   char filename[] = "2.txt";
   struct stat stat_buf;
   int rc = stat(filename, &stat_buf);
   size_t file_length = rc == 0 ? stat_buf.st_size : 0;
   if (file_length == 0) return;
   FILE * fp = fopen(filename, "r");
   if (fp)
   {
      char * text = new char[file_length+1];
      memset(text, 0, file_length + 1);
      size_t data_length = fread(text, sizeof(char), file_length, fp);
      text[data_length] = 0;
      printf("Data: 5%s\n", text);
      std::string tmp(text, data_length);
      wxString message = wxConvUTF8.cMB2WX(tmp.c_str());
      wxMessageBox(message);
      delete[] text;
      fclose(fp);
   }
}

Получаю такое:
https://www.screencast.com/t/JeRe1J7gELu


Return to “wxWidgets Development (Russian)”

Who is online

Users browsing this forum: No registered users and 1 guest