- HTML URL-encoding Reference
- URL-encoding from %00 to %8f
- URL-encoding from %90 to %ff
- HTML URL Encoded Characters Reference
- Reserved Characters
- Encoding
- Example:
- HTML — URL Encoding
- Example
- ASCII Control Characters Encoding
- Non-ASCII control characters encoding
- Reserved Characters Encoding
- Unsafe Characters Encoding
- HTML Кодирование URL
- Структура URL
HTML URL-encoding Reference
Below is a reference of ASCII characters in URL-encoding form (hexadecimal format).
Hexadecimal values can be used to display non-standard letters and characters in browsers and plug-ins.
URL-encoding from %00 to %8f
ASCII Value | URL-encode | ASCII Value | URL-encode | ASCII Value | URL-encode |
---|---|---|---|---|---|
� | %00 | 0 | %30 | ` | %60 |
%01 | 1 | %31 | a | %61 | |
%02 | 2 | %32 | b | %62 | |
%03 | 3 | %33 | c | %63 | |
%04 | 4 | %34 | d | %64 | |
%05 | 5 | %35 | e | %65 | |
%06 | 6 | %36 | f | %66 | |
%07 | 7 | %37 | g | %67 | |
backspace | %08 | 8 | %38 | h | %68 |
tab | %09 | 9 | %39 | i | %69 |
linefeed | %0a | : | %3a | j | %6a |
%0b | ; | %3b | k | %6b | |
%0c | %3c | l | %6c | ||
c return | %0d | = | %3d | m | %6d |
%0e | > | %3e | n | %6e | |
%0f | ? | %3f | o | %6f | |
%10 | @ | %40 | p | %70 | |
%11 | A | %41 | q | %71 | |
%12 | B | %42 | r | %72 | |
%13 | C | %43 | s | %73 | |
%14 | D | %44 | t | %74 | |
%15 | E | %45 | u | %75 | |
%16 | F | %46 | v | %76 | |
%17 | G | %47 | w | %77 | |
%18 | H | %48 | x | %78 | |
%19 | I | %49 | y | %79 | |
%1a | J | %4a | z | %7a | |
%1b | K | %4b | %7b | ||
%1c | L | %4c | | | %7c | |
%1d | M | %4d | > | %7d | |
%1e | N | %4e | ~ | %7e | |
%1f | O | %4f | %7f | ||
space | %20 | P | %50 | € | %80 |
! | %21 | Q | %51 | %81 | |
« | %22 | R | %52 | ‚ | %82 |
# | %23 | S | %53 | ƒ | %83 |
$ | %24 | T | %54 | „ | %84 |
% | %25 | U | %55 | … | %85 |
& | %26 | V | %56 | † | %86 |
‘ | %27 | W | %57 | ‡ | %87 |
( | %28 | X | %58 | ˆ | %88 |
) | %29 | Y | %59 | ‰ | %89 |
* | %2a | Z | %5a | Š | %8a |
+ | %2b | [ | %5b | ‹ | %8b |
, | %2c | \ | %5c | Œ | %8c |
— | %2d | ] | %5d | %8d | |
. | %2e | ^ | %5e | Ž | %8e |
/ | %2f | _ | %5f | %8f |
URL-encoding from %90 to %ff
ASCII Value | URL-encode | ASCII Value | URL-encode | ASCII Value | URL-encode |
---|---|---|---|---|---|
%90 | � | %c0 | � | %f0 | |
‘ | %91 | � | %c1 | � | %f1 |
’ | %92 | � | %c2 | � | %f2 |
“ | %93 | � | %c3 | � | %f3 |
” | %94 | � | %c4 | � | %f4 |
• | %95 | � | %c5 | � | %f5 |
– | %96 | � | %c6 | � | %f6 |
— | %97 | � | %c7 | � | %f7 |
˜ | %98 | � | %c8 | � | %f8 |
™ | %99 | � | %c9 | � | %f9 |
š | %9a | � | %ca | � | %fa |
› | %9b | � | %cb | � | %fb |
œ | %9c | � | %cc | � | %fc |
%9d | � | %cd | � | %fd | |
ž | %9e | � | %ce | � | %fe |
Ÿ | %9f | � | %cf | � | %ff |
%a0 | � | %d0 | |||
� | %a1 | � | %d1 | ||
� | %a2 | � | %d2 | ||
� | %a3 | � | %d3 | ||
%a4 | � | %d4 | |||
� | %a5 | � | %d5 | ||
| | %a6 | � | %d6 | ||
� | %a7 | %d7 | |||
� | %a8 | � | %d8 | ||
� | %a9 | � | %d9 | ||
� | %aa | � | %da | ||
� | %ab | � | %db | ||
� | %ac | � | %dc | ||
� | %ad | � | %dd | ||
� | %ae | � | %de | ||
� | %af | � | %df | ||
� | %b0 | � | %e0 | ||
� | %b1 | � | %e1 | ||
� | %b2 | � | %e2 | ||
� | %b3 | � | %e3 | ||
� | %b4 | � | %e4 | ||
� | %b5 | � | %e5 | ||
� | %b6 | � | %e6 | ||
� | %b7 | � | %e7 | ||
� | %b8 | � | %e8 | ||
� | %b9 | � | %e9 | ||
� | %ba | � | %ea | ||
� | %bb | � | %eb | ||
� | %bc | � | %ec | ||
� | %bd | � | %ed | ||
� | %be | � | %ee | ||
� | %bf | � | %ef |
HTML URL Encoded Characters Reference
A URL is an address for a website. Just like postal addresses have to follow a specific format to be understood by the postman, URLS have to follow a format to be understood and get you to the right location.
There are only certain characters that are allowed in the URL string, alphabetic characters, numerals, and a few characters ; , / ? : @ & = + $ — _ . ! ~ * ‘ ( ) # that can have special meanings.
Reserved Characters
Encoding
Any character that is not an alphabetic character, a number, or a reserved character being used needs to be encoded.
URLs use the ASCII (“American Standard Code for Information Interchange”) character-set and so encoding must be to a valid ASCII format.
There are functions in most web languages to do this encoding for you, for example in JavaScript encodeURI() and in PHP rawurlencode() .
Example:
encodeURI(Free Code Camp); // Free%20Code%20Camp
HTML — URL Encoding
URL encoding is the practice of translating unprintable characters or characters with special meaning within URLs to a representation that is unambiguous and universally accepted by web browsers and servers. These characters include −
- ASCII control characters − Unprintable characters typically used for output control. Character ranges 00-1F hex (0-31 decimal) and 7F (127 decimal). A complete encoding table is given below.
- Non-ASCII control characters − These are characters beyond the ASCII character set of 128 characters. This range is part of the ISO-Latin character set and includes the entire «top half» of the ISO-Latin set 80-FF hex (128-255 decimal). A complete encoding table is given below.
- Reserved characters − These are special characters such as the dollar sign, ampersand, plus, common, forward slash, colon, semi-colon, equals sign, question mark, and «at» symbol. All of these can have different meanings inside a URL so need to be encoded. A complete encoding table is given below.
- Unsafe characters − These are space, quotation marks, less than symbol, greater than symbol, pound character, percent character, Left Curly Brace, Right Curly Brace, Pipe, Backslash, Caret, Tilde, Left Square Bracket, Right Square Bracket, Grave Accent. These character present the possibility of being misunderstood within URLs for various reasons. These characters should also always be encoded. A complete encoding table is given below.
The encoding notation replaces the desired character with three characters: a percent sign and two hexadecimal digits that correspond to the position of the character in the ASCII character set.
Example
One of the most common special characters is a white space. You can’t type a space in a URL directly. A space position in the character set is 20 hexadecimals. So you can use %20 in place of a space when passing your request to the server.
http://www.example.com/new%20pricing.htm
This URL actually retrieves a document named «new pricing.htm» from the www.example.com
ASCII Control Characters Encoding
This includes the encoding for character ranges 00-1F hex (0-31 decimal) and 7F (127 decimal)
Decimal | Hex Value | Character | URL Encode |
---|---|---|---|
0 | 00 | %00 | |
1 | 01 | %01 | |
2 | 02 | %02 | |
3 | 03 | %03 | |
4 | 04 | %04 | |
5 | 05 | %05 | |
6 | 06 | %06 | |
7 | 07 | %07 | |
8 | 08 | backspace | %08 |
9 | 09 | tab | %09 |
10 | 0a | linefeed | %0a |
11 | 0b | %0b | |
12 | 0c | %0c | |
13 | 0d | carriage return | %0d |
14 | 0e | %0e | |
15 | 0f | %0f | |
16 | 10 | %10 | |
17 | 11 | %11 | |
18 | 12 | %12 | |
19 | 13 | %13 | |
20 | 14 | %14 | |
21 | 15 | %15 | |
22 | 16 | %16 | |
23 | 17 | %17 | |
24 | 18 | %18 | |
25 | 19 | %19 | |
26 | 1a | %1a | |
27 | 1b | %1b | |
28 | 1c | %1c | |
29 | 1d | %1d | |
30 | 1e | %1e | |
31 | 1f | %1f | |
127 | 7f | %7f |
Non-ASCII control characters encoding
This includes the encoding for the entire «top half» of the ISO-Latin set 80-FF hex (128255 decimal.)
Decimal | Hex Value | Character | URL Encode |
---|---|---|---|
128 | 80 | | %80 |
129 | 81 | | %81 |
130 | 82 | | %82 |
131 | 83 | | %83 |
132 | 84 | | %84 |
133 | 85 | %85 | |
134 | 86 | | %86 |
135 | 87 | | %87 |
136 | 88 | | %88 |
137 | 89 | | %89 |
138 | 8a | | %8a |
139 | 8b | | %8b |
140 | 8c | | %8c |
141 | 8d | | %8d |
142 | 8e | | %8e |
143 | 8f | | %8f |
144 | 90 | | %90 |
145 | 91 | | %91 |
146 | 92 | | %92 |
147 | 93 | | %93 |
148 | 94 | | %94 |
149 | 95 | | %95 |
150 | 96 | | %96 |
151 | 97 | | %97 |
152 | 98 | | %98 |
153 | 99 | | %99 |
154 | 9a | | %9a |
155 | 9b | | %9b |
156 | 9c | | %9c |
157 | 9d | | %9d |
158 | 9e | | %9e |
159 | 9f | | %9f |
160 | a0 | %a0 | |
161 | a1 | ¡ | %a1 |
162 | a2 | ¢ | %a2 |
163 | a3 | £ | %a3 |
164 | a4 | ¤ | %a4 |
165 | a5 | ¥ | %a5 |
166 | a6 | ¦ | %a6 |
167 | a7 | § | %a7 |
168 | a8 | ¨ | %a8 |
169 | a9 | © | %a9 |
170 | aa | ª | %aa |
171 | ab | « | %ab |
172 | ac | ¬ | %ac |
173 | ad | | %ad |
174 | ae | ® | %ae |
175 | af | ¯ | %af |
176 | b0 | ° | %b0 |
177 | b1 | ± | %b1 |
178 | b2 | ² | %b2 |
179 | b3 | ³ | %b3 |
180 | b4 | ´ | %b4 |
181 | b5 | µ | %b5 |
182 | b6 | ¶ | %b6 |
183 | b7 | · | %b7 |
184 | b8 | ¸ | %b8 |
185 | b9 | ¹ | %b9 |
186 | ba | º | %ba |
187 | bb | » | %bb |
188 | bc | ¼ | %bc |
189 | bd | ½ | %bd |
190 | be | ¾ | %be |
191 | bf | ¿ | %bf |
192 | c0 | À | %c0 |
193 | c1 | Á | %c1 |
194 | c2 | Â | %c2 |
195 | c3 | Ã | %c3 |
196 | c4 | Ä | %c4 |
197 | c5 | Å | %c5 |
198 | c6 | Æ | %v6 |
199 | c7 | Ç | %c7 |
200 | c8 | È | %c8 |
201 | c9 | É | %c9 |
202 | ca | Ê | %ca |
203 | cb | Ë | %cb |
204 | cc | Ì | %cc |
205 | cd | Í | %cd |
206 | ce | Î | %ce |
207 | cf | Ï | %cf |
208 | d0 | Ð | %d0 |
209 | d1 | Ñ | %d1 |
210 | d2 | Ò | %d2 |
211 | d3 | Ó | %d3 |
212 | d4 | Ô | %d4 |
213 | d5 | Õ | %d5 |
214 | d6 | Ö | %d6 |
215 | d7 | × | %d7 |
216 | d8 | Ø | %d8 |
217 | d9 | Ù | %d9 |
218 | da | Ú | %da |
219 | db | Û | %db |
220 | dc | Ü | %dc |
221 | dd | Ý | %dd |
222 | de | Þ | %de |
223 | df | ß | %df |
224 | e0 | à | %e0 |
225 | e1 | á | %e1 |
226 | e2 | â | %e2 |
227 | e3 | ã | %e3 |
228 | e4 | ä | %e4 |
229 | e5 | å | %e5 |
230 | e6 | æ | %e6 |
231 | e7 | ç | %e7 |
232 | e8 | è | %e8 |
233 | e9 | é | %e9 |
234 | ea | ê | %ea |
235 | eb | ë | %eb |
236 | ec | ì | %ec |
237 | ed | í | %ed |
238 | ee | î | %ee |
239 | ef | ï | %ef |
240 | f0 | ð | %f0 |
241 | f1 | ñ | %f1 |
242 | f2 | ò | %f2 |
243 | f3 | ó | %f3 |
244 | f4 | ô | %f4 |
245 | f5 | õ | %f5 |
246 | f6 | ö | %f6 |
247 | f7 | ÷ | %f7 |
248 | f8 | ø | %f8 |
249 | f9 | ù | %f9 |
250 | fa | ú | %fa |
251 | fb | û | %fb |
252 | fc | ü | %fc |
253 | fd | ý | %fd |
254 | fe | þ | %fe |
255 | ff | ÿ | %ff |
Reserved Characters Encoding
Following is the table to be used to encode reserved characters.
Decimal | Hex Value | Char | URL Encode |
---|---|---|---|
36 | 24 | $ | %24 |
38 | 26 | & | %26 |
43 | 2b | + | %2b |
44 | 2c | , | %2c |
47 | 2f | / | %2f |
58 | 3a | : | %3a |
59 | 3b | ; | %3b |
61 | 3d | = | %3d |
63 | 3f | ? | %3f |
64 | 40 | @ | %40 |
Unsafe Characters Encoding
Following is the table to be used to encode unsafe characters.
Decimal | Hex Value | Char | URL Encode |
---|---|---|---|
32 | 20 | space | %20 |
34 | 22 | « | %22 |
60 | 3c | %3c | |
62 | 3e | > | %3e |
35 | 23 | # | %23 |
37 | 25 | % | %25 |
123 | 7b | %7b | |
125 | 7d | > | %7d |
124 | 7c | | | %7c |
92 | 5c | \ | %5c |
94 | 5e | ^ | %5e |
126 | 7e | ~ | %7e |
91 | 5b | [ | %5b |
93 | 5d | ] | %5d |
96 | 60 | ` | %60 |
HTML Кодирование URL
Единый указатель ресурса (англ. Uniform Resource Locator, URL) — это единообразный локатор (определитель местонахождения) ресурса.
Ранее URL назывался Universal Resource Locator — универсальный указатель ресурса. URL служит стандартизированным способом записи адреса ресурса в сети Интернет.
Структура URL
Изначально локатор URL был разработан как система для максимально естественного указания на местонахождение определенного ресурса в сети. URL должен был быть легко расширяемым и использовать лишь ограниченный набор символов ASCII (к примеру, пробел никогда не применяется в URL). В связи с этим, возникла следующая традиционная форма записи URL-адреса:
схема://логин:пароль@хост:порт/URL‐путь?параметры#якорь
- схема — определяет тип интернет-сервиса (наиболее распространенным является HTTP или HTTPS)
- логин — имя пользователя, используемое для доступа к ресурсу
- пароль — пароль указанного пользователя
- хост — полностью прописанное доменное имя хоста в системе DNS или IP-адрес хоста в форме четырёх групп десятичных чисел, разделённых точками (например, wm-school.ru)
- порт — определяет номер порта на хосте (по умолчанию для HTTP является 80)
- URL-путь — определяет путь на сервере (если пропущен: корневой каталог сайта)
- параметры — строка запроса с передаваемыми на сервер (методом GET) параметрами. Начинается с символа ? , разделитель параметров — знак & . Пример: ?параметр_1=значение_1&параметр_2=значение_2&параметр_3=значение_3
- якорь — идентификатор «якоря» с предшествующим символом диез # . Якорем может быть указан заголовок внутри документа или атрибут id элемента. По такой ссылке браузер откроет страницу и переместит окно к указанному элементу. Например, ссылка на этот раздел статьи: http://www.wm-school.ru/html/html_urlencode#Структура_URL .
Стандарт URL использует набор символов ASCII. Кодирование в URL заменяет небезопасные символы ASCII на символ «%» и следующие две шестнадцатеричные цифры соответствующего значения в наборе символов ISO-8859-1.
C момента своего изобретения и по сей день стандарт URL обладает серьёзным недостатком — в нём можно использовать только ограниченный набор символов: латинские буквы, цифры и лишь некоторые знаки пунктуации. Все другие символы необходимо перекодировать.
Например, перекодироваться должны буквы кириллицы, буквы с диакритическими знаками, лигатуры, иероглифы.
Перекодирующая кодировка называется URL-encoding, URLencoded или percent‐encoding.
URL-адреса не могут содержать пробелы. Кодирование URL-адрес, как правило заменяет каждый пробел знаком плюс (+), или %20. Символы кириллицы URL кодирование заменяет на соответствующие комбинации % и код символа.
http:⁄⁄wm-school.ru/html/Кодировки
http:⁄⁄wm-school.ru/html/%d0%9a%d0%be%d0%b4%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8
Преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется в UTF-8 в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении с предшествующим знаком процента (%):
К → D0 и 9C → %d0%9a о → D0 и B8 → %d0%be д → D0 и BA → %d0%b4 и → D1 и 80 → %d0%b8, и т. д.
URL-коды символов UTF-8 представлены в Таблице URL кодов символов UTF-8
URL-коды специальных управляющих символов таблицы ASCII (диапазон 00-31, плюс 127), символов ISO-Latin (диапазон 128-255), зарезервированных символов (знак доллара, амперсанд, плюс, слэш, двоеточие, точка с запятой, знак равенства, знак вопроса, знак эт (собака)), небезопасных символов (пробел, кавычки, знак меньше, знак больше, знак диез, знак проценты, фигурные скобки, прямой слэш, обратный слэш, тильда, квдратные скобки, гравис) представлены в Таблице символов кодирования URL