Hướng dẫn sử dụng HTML URL Encoding

Xem thêm các chuyên mục:

Nhóm thành viên của o7planning đã xây dựng một website tuyệt vời và miễn phí giúp mọi người học tiếng Anh, học từ vựng dễ dàng hơn. Hãy truy cập để học tiếng Anh ngay bây giờ:

1- URL Encoding

Các thông tin có thể được gửi từ phía trình duyệt tới Server thông qua một URL, các thông tin này xuất hiện trên phần query-string của URL, chẳng hạn:
http://example.com/somepage?searchText=abc&maxResults=10
URL ở trên truyền tải tới Server hai thông tin:
  1. searchText=abc
  2. maxResults=10
Nhưng vấn đề ở chỗ ý của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là searchText với giá trị là:
  1. searchText=abc&maxResults=10
Một số ký tự như ( & = / ... ) là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn trình duyệt hiểu nó theo nghĩa thông thường bạn phải mã hóa (encode) nó. Các quy tắc mã hóa (encode) được hiểu bởi các trình duyệt và các máy chủ, như vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa (decode) để lấy được các giá trị ban đầu.
Ký tự Mã hóa
(Encode)

 
& %26
= %3D
http://example.com/somepage?searchText=abc%26maxResults%3D10
Ngoài các ký tự đặc biệt ( & = / ... ) nói trên, có rất nhiều ký tự khác cần phải được mã hóa (encode) để nó có thể truyền tải được trên URL, chẳng hạn các ký tự không thể in được (unprintable characters). Dưới đây là danh sách các ký tự đặc biệt và URL Encoding của chúng.

2- ASCII Control Characters Encoding

Tất cả các ký tự bạn nhìn thấy trên bàn phím đều có một mã số. Chẳng hạn ký tự 'a' có mã số 97, ký tự 'A' có mã số 65,.. chúng là các ký tự thông thường. Nhưng bàn phím còn những thứ khác mà đôi khi bạn không nghĩ rằng chúng là các ký tự, chẳng hạn SHIFT, TAB, ESC, ENTER, ... đây là các ký tự không thể in được (unprintable characters).
Bảng ASCII bao gồm các ký tự có mã số từ 0 đến 127, hầu hết là các ký tự thông thường, còn lại là các ký tự điều khiển (ASCII Control Characters), chúng bao gồm các ký tự có mã số trong phạm vi [0-31] và ký tự có mã số 127.
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

3- Non-ASCII control characters encoding

Các ký tự có mã số từ 128 đến 255 được gọi là các ký tự điều khiển không phải ASCII (Non-ASCII control characters).
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

4- Reserved Characters Encoding

Bảng URL Encoding của các ký tự được bảo lưu (Reserved Characters), có thể in được mà bạn nhìn thấy chúng xuất hiện trên bàn phím.
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

5- Unsafe Characters Encoding

Bảng URL Encoding của các ký tự không an toàn (Unsafe Characters), có thể in được mà bạn nhìn thấy chúng xuất hiện trên bàn phím.
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

6- Javascript URL Encoding

Xem thêm các chuyên mục: