Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > HTTP incoding


Автор: Sheff 10.10.2002, 06:45
У меня вот такой вопрос, допустим у меня есть строка: hello, it's me.
И я хочу программно передать её скрипту, если б это было в броузере, то он бы автоматически её перекодировал, то т.к я это делаю программно, то придётся самому, только как ?

Автор: Baa 10.10.2002, 07:03
По принципу заменяем все хитрые символы на их коды... вот возьмем пробел.. че вместо него ставить? прально, %20 ... 20 - это в хексе код пробела... и т.д. ... если я вообще о том ;)
з.ы.
для пущей детальности смори RFC


Автор: Tupik 10.10.2002, 22:16
Ну дыкть....
Server.HTMLEncode("hello, it's me")



Или я вопрос не так понял?
:)

Автор: Sheff 11.10.2002, 01:01
2 Tupik:
Ты всё правильно понял, но тока HTMLEncode - это в аспе, а мне надо в VC++'е.
2 Baa:
Да, ты прав, но где мне взять коды всех кодируемых символов, где об этом можно почитать ?

Автор: Tupik 11.10.2002, 01:59
А-а-а....
Ну так в C++ eсть функции прeобразующиe АSCII в Unicode:

MultiByteToWideChar() - она помощнее... но и "потяжелее",
и mbstowcs(wchar_t*, char*, size_t)...

А можно и вообще классом _bstr_t из <comdef.h> воспользоваться. Он все эти преобразования ваще прозрачно делает. Через кастинг-операторы...

Автор: Baa 11.10.2002, 07:58
Цитата(Sheff @ 10.10.2002, 18:01)
Да, ты прав, но где мне взять коды всех кодируемых символов, где об этом можно почитать ?

А это просто :) кодируй все, что не буквы :)

Автор: Sheff 11.10.2002, 23:13
Всем спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)