416 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			416 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package encoder
 | |
| 
 | |
| var needEscapeHTMLNormalizeUTF8 = [256]bool{
 | |
| 	'"':  true,
 | |
| 	'&':  true,
 | |
| 	'<':  true,
 | |
| 	'>':  true,
 | |
| 	'\\': true,
 | |
| 	0x00: true,
 | |
| 	0x01: true,
 | |
| 	0x02: true,
 | |
| 	0x03: true,
 | |
| 	0x04: true,
 | |
| 	0x05: true,
 | |
| 	0x06: true,
 | |
| 	0x07: true,
 | |
| 	0x08: true,
 | |
| 	0x09: true,
 | |
| 	0x0a: true,
 | |
| 	0x0b: true,
 | |
| 	0x0c: true,
 | |
| 	0x0d: true,
 | |
| 	0x0e: true,
 | |
| 	0x0f: true,
 | |
| 	0x10: true,
 | |
| 	0x11: true,
 | |
| 	0x12: true,
 | |
| 	0x13: true,
 | |
| 	0x14: true,
 | |
| 	0x15: true,
 | |
| 	0x16: true,
 | |
| 	0x17: true,
 | |
| 	0x18: true,
 | |
| 	0x19: true,
 | |
| 	0x1a: true,
 | |
| 	0x1b: true,
 | |
| 	0x1c: true,
 | |
| 	0x1d: true,
 | |
| 	0x1e: true,
 | |
| 	0x1f: true,
 | |
| 	/* 0x20 - 0x7f */
 | |
| 	0x80: true,
 | |
| 	0x81: true,
 | |
| 	0x82: true,
 | |
| 	0x83: true,
 | |
| 	0x84: true,
 | |
| 	0x85: true,
 | |
| 	0x86: true,
 | |
| 	0x87: true,
 | |
| 	0x88: true,
 | |
| 	0x89: true,
 | |
| 	0x8a: true,
 | |
| 	0x8b: true,
 | |
| 	0x8c: true,
 | |
| 	0x8d: true,
 | |
| 	0x8e: true,
 | |
| 	0x8f: true,
 | |
| 	0x90: true,
 | |
| 	0x91: true,
 | |
| 	0x92: true,
 | |
| 	0x93: true,
 | |
| 	0x94: true,
 | |
| 	0x95: true,
 | |
| 	0x96: true,
 | |
| 	0x97: true,
 | |
| 	0x98: true,
 | |
| 	0x99: true,
 | |
| 	0x9a: true,
 | |
| 	0x9b: true,
 | |
| 	0x9c: true,
 | |
| 	0x9d: true,
 | |
| 	0x9e: true,
 | |
| 	0x9f: true,
 | |
| 	0xa0: true,
 | |
| 	0xa1: true,
 | |
| 	0xa2: true,
 | |
| 	0xa3: true,
 | |
| 	0xa4: true,
 | |
| 	0xa5: true,
 | |
| 	0xa6: true,
 | |
| 	0xa7: true,
 | |
| 	0xa8: true,
 | |
| 	0xa9: true,
 | |
| 	0xaa: true,
 | |
| 	0xab: true,
 | |
| 	0xac: true,
 | |
| 	0xad: true,
 | |
| 	0xae: true,
 | |
| 	0xaf: true,
 | |
| 	0xb0: true,
 | |
| 	0xb1: true,
 | |
| 	0xb2: true,
 | |
| 	0xb3: true,
 | |
| 	0xb4: true,
 | |
| 	0xb5: true,
 | |
| 	0xb6: true,
 | |
| 	0xb7: true,
 | |
| 	0xb8: true,
 | |
| 	0xb9: true,
 | |
| 	0xba: true,
 | |
| 	0xbb: true,
 | |
| 	0xbc: true,
 | |
| 	0xbd: true,
 | |
| 	0xbe: true,
 | |
| 	0xbf: true,
 | |
| 	0xc0: true,
 | |
| 	0xc1: true,
 | |
| 	0xc2: true,
 | |
| 	0xc3: true,
 | |
| 	0xc4: true,
 | |
| 	0xc5: true,
 | |
| 	0xc6: true,
 | |
| 	0xc7: true,
 | |
| 	0xc8: true,
 | |
| 	0xc9: true,
 | |
| 	0xca: true,
 | |
| 	0xcb: true,
 | |
| 	0xcc: true,
 | |
| 	0xcd: true,
 | |
| 	0xce: true,
 | |
| 	0xcf: true,
 | |
| 	0xd0: true,
 | |
| 	0xd1: true,
 | |
| 	0xd2: true,
 | |
| 	0xd3: true,
 | |
| 	0xd4: true,
 | |
| 	0xd5: true,
 | |
| 	0xd6: true,
 | |
| 	0xd7: true,
 | |
| 	0xd8: true,
 | |
| 	0xd9: true,
 | |
| 	0xda: true,
 | |
| 	0xdb: true,
 | |
| 	0xdc: true,
 | |
| 	0xdd: true,
 | |
| 	0xde: true,
 | |
| 	0xdf: true,
 | |
| 	0xe0: true,
 | |
| 	0xe1: true,
 | |
| 	0xe2: true,
 | |
| 	0xe3: true,
 | |
| 	0xe4: true,
 | |
| 	0xe5: true,
 | |
| 	0xe6: true,
 | |
| 	0xe7: true,
 | |
| 	0xe8: true,
 | |
| 	0xe9: true,
 | |
| 	0xea: true,
 | |
| 	0xeb: true,
 | |
| 	0xec: true,
 | |
| 	0xed: true,
 | |
| 	0xee: true,
 | |
| 	0xef: true,
 | |
| 	0xf0: true,
 | |
| 	0xf1: true,
 | |
| 	0xf2: true,
 | |
| 	0xf3: true,
 | |
| 	0xf4: true,
 | |
| 	0xf5: true,
 | |
| 	0xf6: true,
 | |
| 	0xf7: true,
 | |
| 	0xf8: true,
 | |
| 	0xf9: true,
 | |
| 	0xfa: true,
 | |
| 	0xfb: true,
 | |
| 	0xfc: true,
 | |
| 	0xfd: true,
 | |
| 	0xfe: true,
 | |
| 	0xff: true,
 | |
| }
 | |
| 
 | |
| var needEscapeNormalizeUTF8 = [256]bool{
 | |
| 	'"':  true,
 | |
| 	'\\': true,
 | |
| 	0x00: true,
 | |
| 	0x01: true,
 | |
| 	0x02: true,
 | |
| 	0x03: true,
 | |
| 	0x04: true,
 | |
| 	0x05: true,
 | |
| 	0x06: true,
 | |
| 	0x07: true,
 | |
| 	0x08: true,
 | |
| 	0x09: true,
 | |
| 	0x0a: true,
 | |
| 	0x0b: true,
 | |
| 	0x0c: true,
 | |
| 	0x0d: true,
 | |
| 	0x0e: true,
 | |
| 	0x0f: true,
 | |
| 	0x10: true,
 | |
| 	0x11: true,
 | |
| 	0x12: true,
 | |
| 	0x13: true,
 | |
| 	0x14: true,
 | |
| 	0x15: true,
 | |
| 	0x16: true,
 | |
| 	0x17: true,
 | |
| 	0x18: true,
 | |
| 	0x19: true,
 | |
| 	0x1a: true,
 | |
| 	0x1b: true,
 | |
| 	0x1c: true,
 | |
| 	0x1d: true,
 | |
| 	0x1e: true,
 | |
| 	0x1f: true,
 | |
| 	/* 0x20 - 0x7f */
 | |
| 	0x80: true,
 | |
| 	0x81: true,
 | |
| 	0x82: true,
 | |
| 	0x83: true,
 | |
| 	0x84: true,
 | |
| 	0x85: true,
 | |
| 	0x86: true,
 | |
| 	0x87: true,
 | |
| 	0x88: true,
 | |
| 	0x89: true,
 | |
| 	0x8a: true,
 | |
| 	0x8b: true,
 | |
| 	0x8c: true,
 | |
| 	0x8d: true,
 | |
| 	0x8e: true,
 | |
| 	0x8f: true,
 | |
| 	0x90: true,
 | |
| 	0x91: true,
 | |
| 	0x92: true,
 | |
| 	0x93: true,
 | |
| 	0x94: true,
 | |
| 	0x95: true,
 | |
| 	0x96: true,
 | |
| 	0x97: true,
 | |
| 	0x98: true,
 | |
| 	0x99: true,
 | |
| 	0x9a: true,
 | |
| 	0x9b: true,
 | |
| 	0x9c: true,
 | |
| 	0x9d: true,
 | |
| 	0x9e: true,
 | |
| 	0x9f: true,
 | |
| 	0xa0: true,
 | |
| 	0xa1: true,
 | |
| 	0xa2: true,
 | |
| 	0xa3: true,
 | |
| 	0xa4: true,
 | |
| 	0xa5: true,
 | |
| 	0xa6: true,
 | |
| 	0xa7: true,
 | |
| 	0xa8: true,
 | |
| 	0xa9: true,
 | |
| 	0xaa: true,
 | |
| 	0xab: true,
 | |
| 	0xac: true,
 | |
| 	0xad: true,
 | |
| 	0xae: true,
 | |
| 	0xaf: true,
 | |
| 	0xb0: true,
 | |
| 	0xb1: true,
 | |
| 	0xb2: true,
 | |
| 	0xb3: true,
 | |
| 	0xb4: true,
 | |
| 	0xb5: true,
 | |
| 	0xb6: true,
 | |
| 	0xb7: true,
 | |
| 	0xb8: true,
 | |
| 	0xb9: true,
 | |
| 	0xba: true,
 | |
| 	0xbb: true,
 | |
| 	0xbc: true,
 | |
| 	0xbd: true,
 | |
| 	0xbe: true,
 | |
| 	0xbf: true,
 | |
| 	0xc0: true,
 | |
| 	0xc1: true,
 | |
| 	0xc2: true,
 | |
| 	0xc3: true,
 | |
| 	0xc4: true,
 | |
| 	0xc5: true,
 | |
| 	0xc6: true,
 | |
| 	0xc7: true,
 | |
| 	0xc8: true,
 | |
| 	0xc9: true,
 | |
| 	0xca: true,
 | |
| 	0xcb: true,
 | |
| 	0xcc: true,
 | |
| 	0xcd: true,
 | |
| 	0xce: true,
 | |
| 	0xcf: true,
 | |
| 	0xd0: true,
 | |
| 	0xd1: true,
 | |
| 	0xd2: true,
 | |
| 	0xd3: true,
 | |
| 	0xd4: true,
 | |
| 	0xd5: true,
 | |
| 	0xd6: true,
 | |
| 	0xd7: true,
 | |
| 	0xd8: true,
 | |
| 	0xd9: true,
 | |
| 	0xda: true,
 | |
| 	0xdb: true,
 | |
| 	0xdc: true,
 | |
| 	0xdd: true,
 | |
| 	0xde: true,
 | |
| 	0xdf: true,
 | |
| 	0xe0: true,
 | |
| 	0xe1: true,
 | |
| 	0xe2: true,
 | |
| 	0xe3: true,
 | |
| 	0xe4: true,
 | |
| 	0xe5: true,
 | |
| 	0xe6: true,
 | |
| 	0xe7: true,
 | |
| 	0xe8: true,
 | |
| 	0xe9: true,
 | |
| 	0xea: true,
 | |
| 	0xeb: true,
 | |
| 	0xec: true,
 | |
| 	0xed: true,
 | |
| 	0xee: true,
 | |
| 	0xef: true,
 | |
| 	0xf0: true,
 | |
| 	0xf1: true,
 | |
| 	0xf2: true,
 | |
| 	0xf3: true,
 | |
| 	0xf4: true,
 | |
| 	0xf5: true,
 | |
| 	0xf6: true,
 | |
| 	0xf7: true,
 | |
| 	0xf8: true,
 | |
| 	0xf9: true,
 | |
| 	0xfa: true,
 | |
| 	0xfb: true,
 | |
| 	0xfc: true,
 | |
| 	0xfd: true,
 | |
| 	0xfe: true,
 | |
| 	0xff: true,
 | |
| }
 | |
| 
 | |
| var needEscapeHTML = [256]bool{
 | |
| 	'"':  true,
 | |
| 	'&':  true,
 | |
| 	'<':  true,
 | |
| 	'>':  true,
 | |
| 	'\\': true,
 | |
| 	0x00: true,
 | |
| 	0x01: true,
 | |
| 	0x02: true,
 | |
| 	0x03: true,
 | |
| 	0x04: true,
 | |
| 	0x05: true,
 | |
| 	0x06: true,
 | |
| 	0x07: true,
 | |
| 	0x08: true,
 | |
| 	0x09: true,
 | |
| 	0x0a: true,
 | |
| 	0x0b: true,
 | |
| 	0x0c: true,
 | |
| 	0x0d: true,
 | |
| 	0x0e: true,
 | |
| 	0x0f: true,
 | |
| 	0x10: true,
 | |
| 	0x11: true,
 | |
| 	0x12: true,
 | |
| 	0x13: true,
 | |
| 	0x14: true,
 | |
| 	0x15: true,
 | |
| 	0x16: true,
 | |
| 	0x17: true,
 | |
| 	0x18: true,
 | |
| 	0x19: true,
 | |
| 	0x1a: true,
 | |
| 	0x1b: true,
 | |
| 	0x1c: true,
 | |
| 	0x1d: true,
 | |
| 	0x1e: true,
 | |
| 	0x1f: true,
 | |
| 	/* 0x20 - 0xff */
 | |
| }
 | |
| 
 | |
| var needEscape = [256]bool{
 | |
| 	'"':  true,
 | |
| 	'\\': true,
 | |
| 	0x00: true,
 | |
| 	0x01: true,
 | |
| 	0x02: true,
 | |
| 	0x03: true,
 | |
| 	0x04: true,
 | |
| 	0x05: true,
 | |
| 	0x06: true,
 | |
| 	0x07: true,
 | |
| 	0x08: true,
 | |
| 	0x09: true,
 | |
| 	0x0a: true,
 | |
| 	0x0b: true,
 | |
| 	0x0c: true,
 | |
| 	0x0d: true,
 | |
| 	0x0e: true,
 | |
| 	0x0f: true,
 | |
| 	0x10: true,
 | |
| 	0x11: true,
 | |
| 	0x12: true,
 | |
| 	0x13: true,
 | |
| 	0x14: true,
 | |
| 	0x15: true,
 | |
| 	0x16: true,
 | |
| 	0x17: true,
 | |
| 	0x18: true,
 | |
| 	0x19: true,
 | |
| 	0x1a: true,
 | |
| 	0x1b: true,
 | |
| 	0x1c: true,
 | |
| 	0x1d: true,
 | |
| 	0x1e: true,
 | |
| 	0x1f: true,
 | |
| 	/* 0x20 - 0xff */
 | |
| }
 |