qwili 25 Posted August 27, 2013 Report Share Posted August 27, 2013 Люди, помогите! Если в Yandex (любой поисковик) списать 'скачать' (любые русски символы), а потом скопировать url браузер, то получится http://yandex.ru/yandsearch?lr=50&text=%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C Дак, вот какая это кодировка кракозябр? Мне нужно текст в неё перевести Link to post Share on other sites
archid 37 Posted August 27, 2013 Report Share Posted August 27, 2013 Это кодировка UTF-8 в HEX. P.S. А так на будещее - в адресной строке используется кодировка Unicode, например "% 20" - это шестнадцатиричный машинный код символа "пробел". Link to post Share on other sites
Diamant 14 Posted August 27, 2013 Report Share Posted August 27, 2013 http://www.artlebedev.ru/tools/decoder/ Link to post Share on other sites
qwili 25 Posted August 27, 2013 Author Report Share Posted August 27, 2013 function StrToHex(Const Source: String): String; var c:Char; begin Result := ''; for c in Source do Result := Result + IntToHex(Integer(c), 2); end; Это не Hex походу. Так как получается 42143A43044743044244C http://www.artlebede.../tools/decoder/ URL-encoded → UTF-8 что это? Link to post Share on other sites
archid 37 Posted August 27, 2013 Report Share Posted August 27, 2013 URL-encoded → UTF-8 что это? Декодер воспринимает исходный код как UTF-8 (хотя деокдер немного странный, после проведения некоторых экспериментов). Кодирование URL и просто двоичных данных в последовательность букв, цифр и некоторых специальных знаков латинского алфавита в интернете было связано с ограничением физических устройств на передачу только алфавитно-цифровых символов. В URL такое кодирование обычно применяется для передачи символов в формате Unicode (как правило UTF-8) в последовательность из двух байт, записанных в шестнадцатиричном представлении. Каждый байт предваряется знаком %. Надеюсь так будет понятнее. qwili 1 Link to post Share on other sites
qwili 25 Posted August 27, 2013 Author Report Share Posted August 27, 2013 Мне просто кодировка нужна и всё. Но некто не знает Link to post Share on other sites
Apple68 8 Posted August 27, 2013 Report Share Posted August 27, 2013 http://ru.wikipedia.org/wiki/URL#.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_URL Вот, то - что тебе нужно. Найди абзац "Кодирование URL" Появление адресов URL стало существенным нововведением в Интернете. Однако с момента его изобретения и по сей день стандарт URL обладает серьёзным недостатком — в нём можно использовать только ограниченный набор символов, даже меньший, нежели в ASCII: латинские буквы, цифры и лишь некоторые знаки препинания. Если мы захотим использовать в URL символы кириллицы, или иероглифы, или, скажем, специфические символы французского языка, то нужные нам символы должны быть перекодированы особым образом.В русскоязычной Википедии ежедневно приходится видеть пример кодирования URL, поскольку русский язык использует символы кириллицы. Например, строка вида:_ru.wikipedia.org/wiki/Микрокредиткодируется в URL как:_ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82Такое преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется в Юникоде (UTF-8) в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении:М → D0 и 9C → %D0%9Cи → D0 и B8 → %D0%B8к → D0 и BA → %D0%BAр → D1 и 80 → %D1%80, и т. д.Перед каждым таким шестнадцатеричным кодом байта, согласно спецификации URL[3], ставится знак процента (%) — отсюда даже возник английский термин «percent‐encoding», обозначающий способ кодирования символов в URL и URI. qwili 1 Link to post Share on other sites
qwili 25 Posted August 28, 2013 Author Report Share Posted August 28, 2013 Выход нашел! Для тех кто пишет на Delphi поможет: Uses HTTPApp; ... edit1.text:='Кодирование url в яндексе'; // Кодирование url в яндексе edit2.text:=HTTPEncode(UTF8Encode(edit1.text)); // %D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D edit3.text:=UTF8Decode(HTTPDecode(edit2.text)); // Кодирование url в яндексе Esite 1 Link to post Share on other sites
Esite 83 Posted September 16, 2013 Report Share Posted September 16, 2013 Вот код простой HTML-странички, который поможет закодировать/раскодировать. Вместо пробелов лучше добавлять - или _ <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>Кодировка</title> <style type="text/css"> body{ margin:0; padding:0; font:14px Verdana, Arial; } #page { width:800px; margin:50px auto; border:1px #ccc solid; background:#eee; padding:15px; } </style> </head> <body> <div id="page"> <h1>Кодировка</h1> <script language="JavaScript" type="text/javascript"> function coding() { var obj = document.getElementById('url'); var url = obj.value; obj.value = encodeURIComponent(url); } function decoding() { var obj = document.getElementById('url'); var url = obj.value; obj.value = decodeURIComponent(url.replace(/\+/g, " ")); } </script> <div align="center"> <form action="#"> <textarea cols="70" rows="6" id="url"></textarea><br /><br /> <input type="button" onclick="decoding()" value="Раскодировать"> <input type="button" onclick="coding()" value="Закодировать"> <br /><br /> </form> </div> </div> </body> </html> code.html Link to post Share on other sites
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now