1 package encoder
2
3 var needEscapeHTMLNormalizeUTF8 = [256]bool{
4 '"': true,
5 '&': true,
6 '<': true,
7 '>': true,
8 '\\': true,
9 0x00: true,
10 0x01: true,
11 0x02: true,
12 0x03: true,
13 0x04: true,
14 0x05: true,
15 0x06: true,
16 0x07: true,
17 0x08: true,
18 0x09: true,
19 0x0a: true,
20 0x0b: true,
21 0x0c: true,
22 0x0d: true,
23 0x0e: true,
24 0x0f: true,
25 0x10: true,
26 0x11: true,
27 0x12: true,
28 0x13: true,
29 0x14: true,
30 0x15: true,
31 0x16: true,
32 0x17: true,
33 0x18: true,
34 0x19: true,
35 0x1a: true,
36 0x1b: true,
37 0x1c: true,
38 0x1d: true,
39 0x1e: true,
40 0x1f: true,
41
42 0x80: true,
43 0x81: true,
44 0x82: true,
45 0x83: true,
46 0x84: true,
47 0x85: true,
48 0x86: true,
49 0x87: true,
50 0x88: true,
51 0x89: true,
52 0x8a: true,
53 0x8b: true,
54 0x8c: true,
55 0x8d: true,
56 0x8e: true,
57 0x8f: true,
58 0x90: true,
59 0x91: true,
60 0x92: true,
61 0x93: true,
62 0x94: true,
63 0x95: true,
64 0x96: true,
65 0x97: true,
66 0x98: true,
67 0x99: true,
68 0x9a: true,
69 0x9b: true,
70 0x9c: true,
71 0x9d: true,
72 0x9e: true,
73 0x9f: true,
74 0xa0: true,
75 0xa1: true,
76 0xa2: true,
77 0xa3: true,
78 0xa4: true,
79 0xa5: true,
80 0xa6: true,
81 0xa7: true,
82 0xa8: true,
83 0xa9: true,
84 0xaa: true,
85 0xab: true,
86 0xac: true,
87 0xad: true,
88 0xae: true,
89 0xaf: true,
90 0xb0: true,
91 0xb1: true,
92 0xb2: true,
93 0xb3: true,
94 0xb4: true,
95 0xb5: true,
96 0xb6: true,
97 0xb7: true,
98 0xb8: true,
99 0xb9: true,
100 0xba: true,
101 0xbb: true,
102 0xbc: true,
103 0xbd: true,
104 0xbe: true,
105 0xbf: true,
106 0xc0: true,
107 0xc1: true,
108 0xc2: true,
109 0xc3: true,
110 0xc4: true,
111 0xc5: true,
112 0xc6: true,
113 0xc7: true,
114 0xc8: true,
115 0xc9: true,
116 0xca: true,
117 0xcb: true,
118 0xcc: true,
119 0xcd: true,
120 0xce: true,
121 0xcf: true,
122 0xd0: true,
123 0xd1: true,
124 0xd2: true,
125 0xd3: true,
126 0xd4: true,
127 0xd5: true,
128 0xd6: true,
129 0xd7: true,
130 0xd8: true,
131 0xd9: true,
132 0xda: true,
133 0xdb: true,
134 0xdc: true,
135 0xdd: true,
136 0xde: true,
137 0xdf: true,
138 0xe0: true,
139 0xe1: true,
140 0xe2: true,
141 0xe3: true,
142 0xe4: true,
143 0xe5: true,
144 0xe6: true,
145 0xe7: true,
146 0xe8: true,
147 0xe9: true,
148 0xea: true,
149 0xeb: true,
150 0xec: true,
151 0xed: true,
152 0xee: true,
153 0xef: true,
154 0xf0: true,
155 0xf1: true,
156 0xf2: true,
157 0xf3: true,
158 0xf4: true,
159 0xf5: true,
160 0xf6: true,
161 0xf7: true,
162 0xf8: true,
163 0xf9: true,
164 0xfa: true,
165 0xfb: true,
166 0xfc: true,
167 0xfd: true,
168 0xfe: true,
169 0xff: true,
170 }
171
172 var needEscapeNormalizeUTF8 = [256]bool{
173 '"': true,
174 '\\': true,
175 0x00: true,
176 0x01: true,
177 0x02: true,
178 0x03: true,
179 0x04: true,
180 0x05: true,
181 0x06: true,
182 0x07: true,
183 0x08: true,
184 0x09: true,
185 0x0a: true,
186 0x0b: true,
187 0x0c: true,
188 0x0d: true,
189 0x0e: true,
190 0x0f: true,
191 0x10: true,
192 0x11: true,
193 0x12: true,
194 0x13: true,
195 0x14: true,
196 0x15: true,
197 0x16: true,
198 0x17: true,
199 0x18: true,
200 0x19: true,
201 0x1a: true,
202 0x1b: true,
203 0x1c: true,
204 0x1d: true,
205 0x1e: true,
206 0x1f: true,
207
208 0x80: true,
209 0x81: true,
210 0x82: true,
211 0x83: true,
212 0x84: true,
213 0x85: true,
214 0x86: true,
215 0x87: true,
216 0x88: true,
217 0x89: true,
218 0x8a: true,
219 0x8b: true,
220 0x8c: true,
221 0x8d: true,
222 0x8e: true,
223 0x8f: true,
224 0x90: true,
225 0x91: true,
226 0x92: true,
227 0x93: true,
228 0x94: true,
229 0x95: true,
230 0x96: true,
231 0x97: true,
232 0x98: true,
233 0x99: true,
234 0x9a: true,
235 0x9b: true,
236 0x9c: true,
237 0x9d: true,
238 0x9e: true,
239 0x9f: true,
240 0xa0: true,
241 0xa1: true,
242 0xa2: true,
243 0xa3: true,
244 0xa4: true,
245 0xa5: true,
246 0xa6: true,
247 0xa7: true,
248 0xa8: true,
249 0xa9: true,
250 0xaa: true,
251 0xab: true,
252 0xac: true,
253 0xad: true,
254 0xae: true,
255 0xaf: true,
256 0xb0: true,
257 0xb1: true,
258 0xb2: true,
259 0xb3: true,
260 0xb4: true,
261 0xb5: true,
262 0xb6: true,
263 0xb7: true,
264 0xb8: true,
265 0xb9: true,
266 0xba: true,
267 0xbb: true,
268 0xbc: true,
269 0xbd: true,
270 0xbe: true,
271 0xbf: true,
272 0xc0: true,
273 0xc1: true,
274 0xc2: true,
275 0xc3: true,
276 0xc4: true,
277 0xc5: true,
278 0xc6: true,
279 0xc7: true,
280 0xc8: true,
281 0xc9: true,
282 0xca: true,
283 0xcb: true,
284 0xcc: true,
285 0xcd: true,
286 0xce: true,
287 0xcf: true,
288 0xd0: true,
289 0xd1: true,
290 0xd2: true,
291 0xd3: true,
292 0xd4: true,
293 0xd5: true,
294 0xd6: true,
295 0xd7: true,
296 0xd8: true,
297 0xd9: true,
298 0xda: true,
299 0xdb: true,
300 0xdc: true,
301 0xdd: true,
302 0xde: true,
303 0xdf: true,
304 0xe0: true,
305 0xe1: true,
306 0xe2: true,
307 0xe3: true,
308 0xe4: true,
309 0xe5: true,
310 0xe6: true,
311 0xe7: true,
312 0xe8: true,
313 0xe9: true,
314 0xea: true,
315 0xeb: true,
316 0xec: true,
317 0xed: true,
318 0xee: true,
319 0xef: true,
320 0xf0: true,
321 0xf1: true,
322 0xf2: true,
323 0xf3: true,
324 0xf4: true,
325 0xf5: true,
326 0xf6: true,
327 0xf7: true,
328 0xf8: true,
329 0xf9: true,
330 0xfa: true,
331 0xfb: true,
332 0xfc: true,
333 0xfd: true,
334 0xfe: true,
335 0xff: true,
336 }
337
338 var needEscapeHTML = [256]bool{
339 '"': true,
340 '&': true,
341 '<': true,
342 '>': true,
343 '\\': true,
344 0x00: true,
345 0x01: true,
346 0x02: true,
347 0x03: true,
348 0x04: true,
349 0x05: true,
350 0x06: true,
351 0x07: true,
352 0x08: true,
353 0x09: true,
354 0x0a: true,
355 0x0b: true,
356 0x0c: true,
357 0x0d: true,
358 0x0e: true,
359 0x0f: true,
360 0x10: true,
361 0x11: true,
362 0x12: true,
363 0x13: true,
364 0x14: true,
365 0x15: true,
366 0x16: true,
367 0x17: true,
368 0x18: true,
369 0x19: true,
370 0x1a: true,
371 0x1b: true,
372 0x1c: true,
373 0x1d: true,
374 0x1e: true,
375 0x1f: true,
376
377 }
378
379 var needEscape = [256]bool{
380 '"': true,
381 '\\': true,
382 0x00: true,
383 0x01: true,
384 0x02: true,
385 0x03: true,
386 0x04: true,
387 0x05: true,
388 0x06: true,
389 0x07: true,
390 0x08: true,
391 0x09: true,
392 0x0a: true,
393 0x0b: true,
394 0x0c: true,
395 0x0d: true,
396 0x0e: true,
397 0x0f: true,
398 0x10: true,
399 0x11: true,
400 0x12: true,
401 0x13: true,
402 0x14: true,
403 0x15: true,
404 0x16: true,
405 0x17: true,
406 0x18: true,
407 0x19: true,
408 0x1a: true,
409 0x1b: true,
410 0x1c: true,
411 0x1d: true,
412 0x1e: true,
413 0x1f: true,
414
415 }
416
View as plain text