HTML5 - Codificação de URL

A codificação de URL é a prática de traduzir caracteres não imprimíveis ou caracteres com significado especial dentro de URLs em uma representação inequívoca e universalmente aceita por navegadores e servidores da web. Esses personagens incluem -

  • ASCII control characters- Caracteres não imprimíveis normalmente usados ​​para controle de saída. Os caracteres variam de 00-1F hex (0-31 decimal) e 7F (127 decimal). Uma tabela de codificação completa é fornecida abaixo.

  • Non-ASCII control characters- São caracteres além do conjunto de caracteres ASCII de 128 caracteres. Este intervalo faz parte do conjunto de caracteres ISO-Latin e inclui toda a "metade superior" do conjunto ISO-Latin 80-FF hex (128-255 decimal). Uma tabela de codificação completa é fornecida abaixo.

  • Reserved characters- São caracteres especiais, como cifrão, "e" comercial, mais, comum, barra, dois-pontos, ponto e vírgula, sinal de igual, ponto de interrogação e símbolo "arroba". Todos eles podem ter significados diferentes dentro de um URL, portanto, precisam ser codificados. Uma tabela de codificação completa é fornecida abaixo.

  • Unsafe characters- São espaço, aspas, símbolo de menor que, maior que símbolo, caractere de libra, caractere de porcentagem, colchete esquerdo, colchete direito, cano, barra invertida, circunflexo, til, colchete esquerdo, colchete direito, acento grave. Esses caracteres apresentam a possibilidade de serem mal interpretados em URLs por vários motivos. Esses caracteres também devem ser sempre codificados. Uma tabela de codificação completa é fornecida abaixo.

A notação de codificação substitui o caractere desejado por três caracteres: um sinal de porcentagem e dois dígitos hexadecimais que correspondem à posição do caractere no conjunto de caracteres ASCII.

Exemplo

Um dos caracteres especiais mais comuns é o espaço. Você não pode digitar um espaço em um URL diretamente. Uma posição de espaço no conjunto de caracteres é 20 hexadecimal. Portanto, você pode usar% 20 em um espaço ao passar sua solicitação para o servidor.

http://www.example.com/new%20pricing.html

Na verdade, este URL recupera um documento denominado new pricing.html de www.example.com

Codificação de caracteres de controle ASCII

Isso inclui a codificação para intervalos de caracteres 00-1F hex (0-31 decimal) e 7F (127 decimal)

Decimal Valor hexadecimal Personagem Codificação de URL
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 aba % 09
10 0a alimentação de linha % 0a
11 0b   % 0b
12 0c   % 0c
13 0d retorno de carruagem % 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

Codificação de caracteres de controle não ASCII

Isso inclui a codificação de toda a "metade superior" do conjunto ISO-Latin 80-FF hexadecimal (128-255 decimal).

Decimal Valor hexadecimal Personagem Codificação de URL
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 de Anúncios ­ %de Anúncios
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 aC ¼ % bc
189 bd ½ % bd
190 estar ¾ %estar
191 bf ¿ % bf
192 c0 UMA % c0
193 c1 UMA % c1
194 c2 UMA % c2
195 c3 UMA % c3
196 c4 UMA % c4
197 c5 UMA % c5
198 c6 Æ % v6
199 c7 Ç % c7
200 c8 È % c8
201 c9 ... % c9
202 ca Ê % ca
203 cb Ë % cb
204 cc EU % cc
205 CD EU %CD
206 ce EU % ce
207 cf EU % 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 VOCÊ % d9
218 da VOCÊ % da
219 db VOCÊ % db
220 dc VOCÊ % dc
221 dd Ý % dd
222 de º % de
223 df ß % df
224 e0 uma % e0
225 e1 uma % e1
226 e2 uma % e2
227 e3 uma % e3
228 e4 uma % e4
229 e5 uma % e5
230 e6 æ % e6
231 e7 ç % e7
232 e8 è % e8
233 e9 é % e9
234 ea ê % ea
235 eb ë % eb
236 ec Eu % ec
237 ed Eu % ed
238 ee Eu % ee
239 ef Eu % 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 você % f9
250 fa você % fa
251 fb você % fb
252 fc você % fc
253 fd ý % fd
254 fe º % fe
255 ff ÿ % ff

Codificação de caracteres reservados

A seguir está a tabela a ser usada para codificar caracteres reservados.

Decimal Valor hexadecimal Caracteres Codificação de URL
36 24 $ % 24
38 26 E % 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

Codificação de caracteres inseguros

A seguir está a tabela a ser usada para codificar caracteres não seguros.

Decimal Valor hexadecimal Caracteres Codificação de URL
32 20 espaço % 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