![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перевести русские символы в формат типа %D0?
Light-blr © (2008-07-10 18:58:00)Здравствуйте!
Моя программа должна коннектиться к определённому сайту и передавать туда русскоязычные строчки. При этом при передаче они должны выглядеть примерно как "%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%2C+%D0%B5%D1%89%D1%91+%D0%BE%D0%B4%D0%BD%D0%BE%2C" - английские буквы остаются как и были, а вот все остальные символы меняются.
Есть ли какая-нибудь специальная функция для такой конвертации (и если есть, то какая?)
P.S. для непосредственного соединения с интернетом и передачи в него данных использую внешнюю утилитку, так что предварительно конвертировать строчку очень нужно...
Johnmen (2008-07-10 21:05:00) [1]%D0
% - признак шестнадцатиричного числа
D0 - само шестнадцатиричное число, ASCII код символа (= 208, буква "Р")
дальше думай...
Правильный^Вася (2008-07-10 20:14:00) [2]
> inttohex, насколько я понимаю, получает на входе integer,
> а у меня строка.
ord
palva (2008-07-10 19:49:00) [3]В Indy есть функция UrlEncode
http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=TIdURI_URLEncode@string.html
Light-blr (2008-07-10 19:14:00) [4]inttohex, насколько я понимаю, получает на входе integer, а у меня строка... Причём символы самые разные - и русские буквы, и английский, и знаки препинания.
Странно, что в справке написан пример
IntToHex(Edit1.Text[i],2)
хотя на строку Writeln(inttohex('Ф',2))
компилятор ругается
[Error] Project1.dpr(38): There is no overloaded version of 'IntToHex' that can be called with these arguments
Правильный^Вася (2008-07-10 18:59:00) [5]inttohex
% через каждых 2 символа