Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.008 c
15-1196316970
DaniilG
2007-11-29 09:16
2007.12.30
Turbo Delphi +Event Log


3-1188279724
dimaL
2007-08-28 09:42
2007.12.30
FLOAT в Firebird


2-1196930572
LerMax
2007-12-06 11:42
2007.12.30
Вопрос про ссылку в классе


6-1176735518
Dmitry_177
2007-04-16 18:58
2007.12.30
Остановить выполнение accept или recv


2-1196762672
Леони
2007-12-04 13:04
2007.12.30
SQL и Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский