Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

URL Decoding   Найти похожие ветки 

 
Fantom348   (2007-03-21 18:14) [0]

Каким способом можно декодировать URL-строчку, в смысле из всяких там %2В получать нормальные символы. У меня вышло с простыми символами, а вот с русскими замучился... Может как-то проще можно это проделать? В старых версияъ помню был TNMURL, теперь я пользуюсь BDS 2006 и там такого компонента уже нет...


 
umbra ©   (2007-03-21 19:40) [1]

TIdURI ?


 
Fantom348   (2007-03-21 21:16) [2]

Извините за очень глупый вопрос, но таковой есть...
На какой закладке находится этот компонент...???
Уже по второму кругу ищу-не могу найти... Все перечитал-нету такого вроде...


 
umbra ©   (2007-03-22 11:12) [3]

На закладках его нет, т.к. он - наследник TObject. Он объявлен в модуле IdURI.pas.

З.Ы. Я правда, не знаю, есть ли в Д2006 Инди :)


 
clickmaker ©   (2007-03-22 11:35) [4]


> в смысле из всяких там %2В получать нормальные символы

StringReplace()


 
Fantom348   (2007-03-22 19:52) [5]

С TIdURI  разобрался, но вот декодирует он у меня только обычные символы.. У меня это и по своему выходило... А вот кирилицу ну никак... - все равно там символы непонятные получаю..


 
umbra ©   (2007-03-22 20:25) [6]


> А вот кирилицу ну никак...

а должен бы. Собственно, смысл декодирования заключается в том, что берутся два символа после процента - это шестнадцатиричный код символа из урл, который прелбразовывается в сам символ функцией chr или приведением к типу Char. Подробности - в исходном коде ф-ции TIdURI.URLDecode


 
Fantom348   (2007-03-25 14:45) [7]

У русских символах этих знаков % аж 3 !!!!(пример: буква к %26%231050%3B)
Вот и и не выходит ничего....
Что делать?


 
Fantom348   (2007-03-25 15:11) [8]

Отлично с этим заданием справляется компонент TNMURL-даже русские символы декодирует прекрасно (его уже нет в новых версиях Делфи).. Может кто знает где исходники его посмотреть....??
Ну или дайте какой-то совет, как можно по-другому.... Очень надо...


 
Fantom348   (2007-03-26 16:23) [9]

короче я сумел преобразовать до Decimal. К примеру из %26%231105%3B получил ё   Как мне теперь из этих символов получить нормальную русскую букву??
На некоторых сайтах есть конверторы специальные... так вот этот символ,который получился( ё )-это типа Decimal.... что я уже не пробовал... никак не могу получить из него  символ нормальный... помогите, кто может...


 
umbra ©   (2007-03-26 16:46) [10]


> К примеру из %26%231105%3B получил ё

а я получил "ё"


 
umbra ©   (2007-03-26 16:50) [11]

ё


 
umbra ©   (2007-03-26 16:52) [12]

смешно. это похоже на уникод (или что-то в этом роде). номер символа "ё" - 1105


 
Fantom348   (2007-03-26 17:45) [13]

Ух ты.... А как Вы получил?? Действительно должно быть ё, но я никак этого не мог добиться... Как ???


 
Fantom348   (2007-03-26 17:49) [14]

Кстати Вы говорите, что символ ё - имеет код 1105... А как зная код, можно получить ее символ???
Очень буду благодарен...


 
umbra ©   (2007-03-26 19:16) [15]


> %26%231105%3B

%26 - &
%23 - #
%3B - ;
1105 - код символа уникода


> А как зная код, можно получить ее символ???

например, так

procedure TForm1.Button1Click(Sender: TObject);
var
 mywidechar: array of word;
 wstr: WideString absolute mywidechar;
 buf : string;
begin
 setlength(mywidechar, 1);
 mywidechar[0] := 1105;
 buf := WideCharLenToString(PWideChar(wstr), 1);
 ShowMessage(buf);
end;


 
Fantom348   (2007-03-30 21:37) [16]

Огромное спасибо!!! Действительно помогло для русских символов... Но вот например немецкие символы или какого-то другого языка-никак... Показывает, как будто символ такого числа - символ "?" ...
Что делать???


 
dDan   (2007-03-31 04:26) [17]

А у тебя устанвлен немецкий язык?


 
Fantom348   (2007-03-31 11:09) [18]

Конечно установлен... По-другому я бы не смог ввести немецкий символ...


 
Fantom348   (2007-03-31 12:57) [19]

Ладно... Вы можеть подскажете как скажем сделать, что messagebox вывел, к примеру, символ "å".... а то я копирую его в буфер, а когда вставляю... то вставляется "e"


 
ZaleR   (2007-04-20 22:56) [20]

Я тут случайно надыбал этот пост... Обсуждаете перекодировку смимволов...
У меня тоже вопрос...

Если использовать URI и закодировать текст "привет", то он будет выглядеть так: %EF%F0%E8%E2%E5%F2 . Чтобы этот текст отобразить на html-страничке его надо привести к такому виду привет

Я не знаю каким способ программно производить преобразование от %EF%F0%E8%E2%E5%F2 к  привет     Как это сделать?
Спасибо!!!!


 
ZaleR   (2007-04-20 22:59) [21]

ой... оно автоматом заменило код словом... Я имел ввиду замену %EF%F0%E8%E2%E5%F2 на символы типы &#ЧТО_ТО;


 
ZaleR   (2007-04-20 23:02) [22]


> Я не знаю каким способ программно производить преобразование
> от %EF%F0%E8%E2%E5%F2 к  &# 1087 ;&# 1088 ;&# 1080 ;&# 1074 ;&# 1077 ;&# 1090 ;     Как это сделать?

Чтобы легче догадаться я повставлял пробелы... Вот Именно так надо сделать...
Подскажите, товарищи....



Страницы: 1 вся ветка

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
15-1196198873
Сусл
2007-11-28 00:27
2007.12.30
Судьба CodeGear


2-1196767896
Kolan
2007-12-04 14:31
2007.12.30
Как запретить авто удаление наследнику TInterfacedObject?


2-1197037557
Nikfel
2007-12-07 17:25
2007.12.30
Как получить список процессов с путем.


6-1174490071
Fantom348
2007-03-21 18:14
2007.12.30
URL Decoding


8-1171800032
Snakecatcher
2007-02-18 15:00
2007.12.30
Красивая форма