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

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

Как понять что тут написано?
Или как первести это в 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>
  
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7458
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN »

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

Spasibo.
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

Это ни в браузере, а перехват ч/з WireShark.
В code::blocks тоже самое показывает
Там походу буфер Unicode строки показывается, но не знаю как это перевести в wxString
Attachments
2.jpeg
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

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

Code: Select all

	//так я вижу эту переменную в code::blocks
	std::string str = "\320\235\320\265\320\264\32 и т.д."
Перепробовал из этих примеров
https://wiki.wxwidgets.org/Converting_e ... m_wxString

ничего не помогло
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7458
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN »

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

Спасибо.
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

да, это ответное сообщение об ошибке в моём запросе
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7458
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN »

В какой кодировке работает сервер?
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

в WSDL написано UtF-8
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

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

Post by T-Rex »

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

Code: Select all

char b = '\u0444';
Если приходит прям в таком виде, как в описании поста, то только парсить, при чем \320 это три символа в строке сейчас: '\3', '2', '0'
Можешь выложить файл дампа Wireshark? Так будет проще понять, что происходит и какая там кодировка.
Как вариант, взять файл дампа, открыть в Notepad++, поиграться с кодировками и посмотреть в какой он отображается как читаемый текст, потом программно преобразовать текст через что-то из wxMBConv.
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

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

напомню, я получаю ответ в строку типа std::string
Attachments
2.txt
(124 Bytes) Downloaded 228 times
Безымянный2.png
Безымянный2.png (5.35 KiB) Viewed 5924 times
Безымянный.png
Безымянный.png (14.99 KiB) Viewed 5924 times
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

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

Post by T-Rex »

Вот прям чтобы 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
Post Reply