github.com/grbit/go-json@v0.11.0/internal/encoder/string_table.go (about)

     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  	/* 0x20 - 0x7f */
    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  	/* 0x20 - 0x7f */
   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  	/* 0x20 - 0xff */
   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  	/* 0x20 - 0xff */
   415  }