URL Encoder Decoder online

URL Кодировщик / Декодер

Информация

URL Encoder / Decoder — это бесплатный инструмент позволяющий кодирование и кодирование URL адрес, простой онлайн-инструмент, который делает именно то, что он говорит: декодирует из URL-кодирования, а также кодирует в него быстро и легко. URL-кодируйте свои данные без проблем или декодируйте их в удобочитаемый формат.

Подробные сведения о типах кодирования URL-адресов символов URI символы, разрешенные в URI, либо зарезервированы, либо не зарезервированы (или символ процента как часть процентной кодировки). Зарезервированные символы-это символы, которые иногда имеют особое значение. Например, символы прямой косой черты используются для разделения различных частей URL-адреса (или, в более общем смысле, URI). Незарегистрированные символы не имеют такого особого значения. При использовании процентного кодирования зарезервированные символы представляются с помощью специальных последовательностей символов. Наборы зарезервированных и незафиксированных символов и обстоятельства, при которых определенные зарезервированные символы имеют особое значение, немного изменялись с каждым новым пересмотром спецификаций, регулирующих URI и схемы URI.

RFC 3986 раздел 2.2 Зарезервированные символы (январь 2005)
! * ' ( ) ; : @ & = + $ , / ? # [ ]
RFC 3986 раздел 2.3 Незарегистрированные символы (январь 2005)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

Другие символы в URI должны быть закодированы в процентах.

Зарезервированные символы в процентном кодировании

Когда символ из зарезервированного набора («зарезервированный символ») имеет особое значение («зарезервированная цель») в определенном контексте, и схема URI указывает, что необходимо использовать этот символ для какой-либо другой цели, тогда символ должен быть закодирован в процентах. Процентное кодирование зарезервированного символа означает преобразование символа в соответствующее значение байта в ASCII, а затем представление этого значения в виде пары шестнадцатеричных цифр. Цифры, которым предшествует знак процента («%»), затем используются в URI вместо зарезервированного символа. (Для символа, не являющегося символом ASCII, он обычно преобразуется в последовательность байтов в UTF-8, а затем каждое значение байта представляется, как указано выше.)

Зарезервированный символ «/», например, если он используется в компоненте URI «путь», имеет особое значение как разделитель между сегментами пути. Если в соответствии с данной схемой URI «/» должен находиться в сегменте пути, то в сегменте вместо «/» должны использоваться три символа «%2F» (или «%2f»).

Зарезервированные символы после процентного кодирования
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

Зарезервированные символы, которые не защищены цели в конкретном контексте, также могут быть закодированы в процентах, но не семантически отличается от других персонажей.

В компонент «запрос» в URI (часть после того, как символ»?»), например, «/» до сих пор считается зарезервированным символом, но оно обычно не имеет зарезервированного цели (если конкретной схемы URI не указано иначе). Символ не нужно кодировать в процентах, если у него нет зарезервированной цели.

URI, которые отличаются только тем, закодирован ли зарезервированный символ в процентах или нет, обычно считаются неэквивалентными (обозначающими один и тот же ресурс), если только указанные зарезервированные символы не имеют зарезервированной цели. Это определение зависит от правил, установленных для зарезервированных символов отдельными схемами URI.

Неограниченные символы в процентном кодировании

Символы из неограниченного набора никогда не должны быть закодированы в процентах.

URI, которые отличаются только тем, закодирован ли незафиксированный символ в процентах или нет, эквивалентны по определению, но процессоры URI на практике не всегда могут относиться к ним эквивалентно. Например, потребители URI не должны относиться к «%41» иначе, чем к «A» («%41»-это процентная кодировка «A») или «%7E» иначе, чем к»~», но некоторые это делают. Поэтому для обеспечения максимальной совместимости производителям URI не рекомендуется кодировать незафиксированные символы в процентах.

Кодирование в процентах символа процента

Поскольку символ процента («%») герой служит в качестве индикатора для процентов в кодировке октетов, это должны быть закодированы в процентах, как «%25» для октета используются в качестве данных в URI.

Процент-кодирование произвольных данных

наиболее Ури схемы предполагают представление произвольные данные, такие как IP-адрес или путь к файлу, в качестве компонентов URI. Спецификации схемы URI должны, но часто этого не делают, обеспечивать явное сопоставление между символами URI и всеми возможными значениями данных, представленными этими символами.

Двоичные данные

С момента публикации RFC 1738 в 1994 году было указано, что схемы, которые обеспечивают представление двоичных данных в URI, должны разделять данные на 8-разрядные байты и кодировать каждый байт в процентах таким же образом, как указано выше. Значение байта 0F (шестнадцатеричное), например, должно быть представлено «%0F», но значение байта 41 (шестнадцатеричное) может быть представлено «A» или «%41». Использование некодированных символов для буквенно-цифровых и других незафиксированных символов обычно предпочтительнее, поскольку это приводит к более коротким URL-адресам.

Символьные данные

Процедура кодирования двоичных данных в процентах часто экстраполировалась, иногда ненадлежащим образом или без полного указания, для применения к символьным данным. В годы становления Всемирной паутины, когда мы имели дело с символами данных в репертуаре ASCII и использовали соответствующие им байты в ASCII в качестве основы для определения последовательностей, закодированных в процентах, эта практика была относительно безвредной; многие люди предполагали, что символы и байты сопоставляются один к одному и взаимозаменяемы. Однако потребность в представлении символов за пределами диапазона ASCII быстро росла, и схемы и протоколы URI часто не обеспечивали стандартных правил подготовки символьных данных для включения в URI. В результате веб-приложения начали использовать различные многобайтовые, статусные и другие кодировки, не совместимые с ASCII, в качестве основы для процентного кодирования, что привело к неоднозначностям, а также к трудностям надежной интерпретации URI.

Например, многие схемы и протоколы URI, основанные на RFC 1738 и 2396, предполагают, что символы данных будут преобразованы в байты в соответствии с некоторой неопределенной кодировкой символов, прежде чем будут представлены в URI незафиксированными символами или байтами в процентном кодировании. Если схема не позволяет URI указывать, какая кодировка использовалась, или если кодировка противоречит использованию ASCII для процентного кодирования зарезервированных и незафиксированных символов, то URI не может быть надежно интерпретирован. Некоторые схемы вообще не учитывают кодировку и вместо этого просто предполагают, что символы данных напрямую сопоставляются с символами URI, что позволяет отдельным пользователям решать, следует ли и как кодировать символы данных в процентах, которые не входят ни в зарезервированные, ни в незарегистрированные наборы.

Общие символы после процентного кодирования (на основе ASCII или UTF-8)
новая строка space " % - . < > \ ^ _ ` { | } ~
%0A или %0Dили %0D%0A %20 %22 %25 %2D %2E %3C %3E %5C %5E %5F %60 %7B %7C %7D %7E

Произвольные символьные данные иногда кодируются в процентах и используются в ситуациях, не связанных с URI, например, для программ запутывания паролей или других системных протоколов перевода.