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

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

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

Post by 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: 2928
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by 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: 198
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by 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: 198
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by 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: 2928
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN » Tue Oct 31, 2017 1:41 am

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

Спасибо.

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

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

Post by cutecode » Tue Oct 31, 2017 2:44 am

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

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

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

Post by ONEEYEMAN » Tue Oct 31, 2017 12:42 pm

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

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

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

Post by cutecode » Tue Oct 31, 2017 1:40 pm

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

User avatar
T-Rex
Moderator
Moderator
Posts: 1169
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 » 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: 198
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode » Sun Nov 05, 2017 5:19 pm

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

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

User avatar
T-Rex
Moderator
Moderator
Posts: 1169
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 » 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

Post Reply