forked from mirror/go-json
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 */
|
|
}
|