1 #include <cstdint> 2 #include "node_url.h" 3 4 namespace node { 5 namespace url { 6 namespace table_data { 7 8 const char hex[1024] = 9 "%00\0%01\0%02\0%03\0%04\0%05\0%06\0%07\0" 10 "%08\0%09\0%0A\0%0B\0%0C\0%0D\0%0E\0%0F\0" 11 "%10\0%11\0%12\0%13\0%14\0%15\0%16\0%17\0" 12 "%18\0%19\0%1A\0%1B\0%1C\0%1D\0%1E\0%1F\0" 13 "%20\0%21\0%22\0%23\0%24\0%25\0%26\0%27\0" 14 "%28\0%29\0%2A\0%2B\0%2C\0%2D\0%2E\0%2F\0" 15 "%30\0%31\0%32\0%33\0%34\0%35\0%36\0%37\0" 16 "%38\0%39\0%3A\0%3B\0%3C\0%3D\0%3E\0%3F\0" 17 "%40\0%41\0%42\0%43\0%44\0%45\0%46\0%47\0" 18 "%48\0%49\0%4A\0%4B\0%4C\0%4D\0%4E\0%4F\0" 19 "%50\0%51\0%52\0%53\0%54\0%55\0%56\0%57\0" 20 "%58\0%59\0%5A\0%5B\0%5C\0%5D\0%5E\0%5F\0" 21 "%60\0%61\0%62\0%63\0%64\0%65\0%66\0%67\0" 22 "%68\0%69\0%6A\0%6B\0%6C\0%6D\0%6E\0%6F\0" 23 "%70\0%71\0%72\0%73\0%74\0%75\0%76\0%77\0" 24 "%78\0%79\0%7A\0%7B\0%7C\0%7D\0%7E\0%7F\0" 25 "%80\0%81\0%82\0%83\0%84\0%85\0%86\0%87\0" 26 "%88\0%89\0%8A\0%8B\0%8C\0%8D\0%8E\0%8F\0" 27 "%90\0%91\0%92\0%93\0%94\0%95\0%96\0%97\0" 28 "%98\0%99\0%9A\0%9B\0%9C\0%9D\0%9E\0%9F\0" 29 "%A0\0%A1\0%A2\0%A3\0%A4\0%A5\0%A6\0%A7\0" 30 "%A8\0%A9\0%AA\0%AB\0%AC\0%AD\0%AE\0%AF\0" 31 "%B0\0%B1\0%B2\0%B3\0%B4\0%B5\0%B6\0%B7\0" 32 "%B8\0%B9\0%BA\0%BB\0%BC\0%BD\0%BE\0%BF\0" 33 "%C0\0%C1\0%C2\0%C3\0%C4\0%C5\0%C6\0%C7\0" 34 "%C8\0%C9\0%CA\0%CB\0%CC\0%CD\0%CE\0%CF\0" 35 "%D0\0%D1\0%D2\0%D3\0%D4\0%D5\0%D6\0%D7\0" 36 "%D8\0%D9\0%DA\0%DB\0%DC\0%DD\0%DE\0%DF\0" 37 "%E0\0%E1\0%E2\0%E3\0%E4\0%E5\0%E6\0%E7\0" 38 "%E8\0%E9\0%EA\0%EB\0%EC\0%ED\0%EE\0%EF\0" 39 "%F0\0%F1\0%F2\0%F3\0%F4\0%F5\0%F6\0%F7\0" 40 "%F8\0%F9\0%FA\0%FB\0%FC\0%FD\0%FE\0%FF"; 41 42 const uint8_t C0_CONTROL_ENCODE_SET[32] = { 43 // 00 01 02 03 04 05 06 07 44 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 45 // 08 09 0A 0B 0C 0D 0E 0F 46 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 47 // 10 11 12 13 14 15 16 17 48 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 49 // 18 19 1A 1B 1C 1D 1E 1F 50 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 51 // 20 21 22 23 24 25 26 27 52 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 53 // 28 29 2A 2B 2C 2D 2E 2F 54 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 55 // 30 31 32 33 34 35 36 37 56 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 57 // 38 39 3A 3B 3C 3D 3E 3F 58 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 59 // 40 41 42 43 44 45 46 47 60 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 61 // 48 49 4A 4B 4C 4D 4E 4F 62 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 63 // 50 51 52 53 54 55 56 57 64 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 65 // 58 59 5A 5B 5C 5D 5E 5F 66 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 67 // 60 61 62 63 64 65 66 67 68 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 69 // 68 69 6A 6B 6C 6D 6E 6F 70 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 71 // 70 71 72 73 74 75 76 77 72 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 73 // 78 79 7A 7B 7C 7D 7E 7F 74 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x80, 75 // 80 81 82 83 84 85 86 87 76 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 77 // 88 89 8A 8B 8C 8D 8E 8F 78 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 79 // 90 91 92 93 94 95 96 97 80 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 81 // 98 99 9A 9B 9C 9D 9E 9F 82 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 83 // A0 A1 A2 A3 A4 A5 A6 A7 84 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 85 // A8 A9 AA AB AC AD AE AF 86 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 87 // B0 B1 B2 B3 B4 B5 B6 B7 88 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 89 // B8 B9 BA BB BC BD BE BF 90 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 91 // C0 C1 C2 C3 C4 C5 C6 C7 92 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 93 // C8 C9 CA CB CC CD CE CF 94 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 95 // D0 D1 D2 D3 D4 D5 D6 D7 96 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 97 // D8 D9 DA DB DC DD DE DF 98 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 99 // E0 E1 E2 E3 E4 E5 E6 E7 100 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 101 // E8 E9 EA EB EC ED EE EF 102 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 103 // F0 F1 F2 F3 F4 F5 F6 F7 104 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 105 // F8 F9 FA FB FC FD FE FF 106 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 107 }; 108 109 const uint8_t FRAGMENT_ENCODE_SET[32] = { 110 // 00 01 02 03 04 05 06 07 111 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 112 // 08 09 0A 0B 0C 0D 0E 0F 113 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 114 // 10 11 12 13 14 15 16 17 115 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 116 // 18 19 1A 1B 1C 1D 1E 1F 117 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 118 // 20 21 22 23 24 25 26 27 119 0x01 | 0x00 | 0x04 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 120 // 28 29 2A 2B 2C 2D 2E 2F 121 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 122 // 30 31 32 33 34 35 36 37 123 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 124 // 38 39 3A 3B 3C 3D 3E 3F 125 0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x00, 126 // 40 41 42 43 44 45 46 47 127 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 128 // 48 49 4A 4B 4C 4D 4E 4F 129 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 130 // 50 51 52 53 54 55 56 57 131 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 132 // 58 59 5A 5B 5C 5D 5E 5F 133 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 134 // 60 61 62 63 64 65 66 67 135 0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 136 // 68 69 6A 6B 6C 6D 6E 6F 137 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 138 // 70 71 72 73 74 75 76 77 139 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 140 // 78 79 7A 7B 7C 7D 7E 7F 141 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x80, 142 // 80 81 82 83 84 85 86 87 143 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 144 // 88 89 8A 8B 8C 8D 8E 8F 145 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 146 // 90 91 92 93 94 95 96 97 147 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 148 // 98 99 9A 9B 9C 9D 9E 9F 149 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 150 // A0 A1 A2 A3 A4 A5 A6 A7 151 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 152 // A8 A9 AA AB AC AD AE AF 153 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 154 // B0 B1 B2 B3 B4 B5 B6 B7 155 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 156 // B8 B9 BA BB BC BD BE BF 157 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 158 // C0 C1 C2 C3 C4 C5 C6 C7 159 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 160 // C8 C9 CA CB CC CD CE CF 161 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 162 // D0 D1 D2 D3 D4 D5 D6 D7 163 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 164 // D8 D9 DA DB DC DD DE DF 165 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 166 // E0 E1 E2 E3 E4 E5 E6 E7 167 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 168 // E8 E9 EA EB EC ED EE EF 169 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 170 // F0 F1 F2 F3 F4 F5 F6 F7 171 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 172 // F8 F9 FA FB FC FD FE FF 173 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 174 }; 175 176 177 const uint8_t PATH_ENCODE_SET[32] = { 178 // 00 01 02 03 04 05 06 07 179 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 180 // 08 09 0A 0B 0C 0D 0E 0F 181 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 182 // 10 11 12 13 14 15 16 17 183 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 184 // 18 19 1A 1B 1C 1D 1E 1F 185 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 186 // 20 21 22 23 24 25 26 27 187 0x01 | 0x00 | 0x04 | 0x08 | 0x00 | 0x00 | 0x00 | 0x00, 188 // 28 29 2A 2B 2C 2D 2E 2F 189 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 190 // 30 31 32 33 34 35 36 37 191 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 192 // 38 39 3A 3B 3C 3D 3E 3F 193 0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x80, 194 // 40 41 42 43 44 45 46 47 195 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 196 // 48 49 4A 4B 4C 4D 4E 4F 197 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 198 // 50 51 52 53 54 55 56 57 199 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 200 // 58 59 5A 5B 5C 5D 5E 5F 201 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 202 // 60 61 62 63 64 65 66 67 203 0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 204 // 68 69 6A 6B 6C 6D 6E 6F 205 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 206 // 70 71 72 73 74 75 76 77 207 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 208 // 78 79 7A 7B 7C 7D 7E 7F 209 0x00 | 0x00 | 0x00 | 0x08 | 0x00 | 0x20 | 0x00 | 0x80, 210 // 80 81 82 83 84 85 86 87 211 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 212 // 88 89 8A 8B 8C 8D 8E 8F 213 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 214 // 90 91 92 93 94 95 96 97 215 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 216 // 98 99 9A 9B 9C 9D 9E 9F 217 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 218 // A0 A1 A2 A3 A4 A5 A6 A7 219 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 220 // A8 A9 AA AB AC AD AE AF 221 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 222 // B0 B1 B2 B3 B4 B5 B6 B7 223 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 224 // B8 B9 BA BB BC BD BE BF 225 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 226 // C0 C1 C2 C3 C4 C5 C6 C7 227 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 228 // C8 C9 CA CB CC CD CE CF 229 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 230 // D0 D1 D2 D3 D4 D5 D6 D7 231 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 232 // D8 D9 DA DB DC DD DE DF 233 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 234 // E0 E1 E2 E3 E4 E5 E6 E7 235 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 236 // E8 E9 EA EB EC ED EE EF 237 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 238 // F0 F1 F2 F3 F4 F5 F6 F7 239 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 240 // F8 F9 FA FB FC FD FE FF 241 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 242 }; 243 244 const uint8_t USERINFO_ENCODE_SET[32] = { 245 // 00 01 02 03 04 05 06 07 246 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 247 // 08 09 0A 0B 0C 0D 0E 0F 248 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 249 // 10 11 12 13 14 15 16 17 250 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 251 // 18 19 1A 1B 1C 1D 1E 1F 252 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 253 // 20 21 22 23 24 25 26 27 254 0x01 | 0x00 | 0x04 | 0x08 | 0x00 | 0x00 | 0x00 | 0x00, 255 // 28 29 2A 2B 2C 2D 2E 2F 256 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x80, 257 // 30 31 32 33 34 35 36 37 258 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 259 // 38 39 3A 3B 3C 3D 3E 3F 260 0x00 | 0x00 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 261 // 40 41 42 43 44 45 46 47 262 0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 263 // 48 49 4A 4B 4C 4D 4E 4F 264 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 265 // 50 51 52 53 54 55 56 57 266 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 267 // 58 59 5A 5B 5C 5D 5E 5F 268 0x00 | 0x00 | 0x00 | 0x08 | 0x10 | 0x20 | 0x40 | 0x00, 269 // 60 61 62 63 64 65 66 67 270 0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 271 // 68 69 6A 6B 6C 6D 6E 6F 272 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 273 // 70 71 72 73 74 75 76 77 274 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 275 // 78 79 7A 7B 7C 7D 7E 7F 276 0x00 | 0x00 | 0x00 | 0x08 | 0x10 | 0x20 | 0x00 | 0x80, 277 // 80 81 82 83 84 85 86 87 278 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 279 // 88 89 8A 8B 8C 8D 8E 8F 280 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 281 // 90 91 92 93 94 95 96 97 282 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 283 // 98 99 9A 9B 9C 9D 9E 9F 284 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 285 // A0 A1 A2 A3 A4 A5 A6 A7 286 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 287 // A8 A9 AA AB AC AD AE AF 288 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 289 // B0 B1 B2 B3 B4 B5 B6 B7 290 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 291 // B8 B9 BA BB BC BD BE BF 292 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 293 // C0 C1 C2 C3 C4 C5 C6 C7 294 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 295 // C8 C9 CA CB CC CD CE CF 296 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 297 // D0 D1 D2 D3 D4 D5 D6 D7 298 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 299 // D8 D9 DA DB DC DD DE DF 300 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 301 // E0 E1 E2 E3 E4 E5 E6 E7 302 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 303 // E8 E9 EA EB EC ED EE EF 304 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 305 // F0 F1 F2 F3 F4 F5 F6 F7 306 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 307 // F8 F9 FA FB FC FD FE FF 308 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 309 }; 310 311 const uint8_t QUERY_ENCODE_SET_NONSPECIAL[32] = { 312 // 00 01 02 03 04 05 06 07 313 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 314 // 08 09 0A 0B 0C 0D 0E 0F 315 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 316 // 10 11 12 13 14 15 16 17 317 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 318 // 18 19 1A 1B 1C 1D 1E 1F 319 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 320 // 20 21 22 23 24 25 26 27 321 0x01 | 0x00 | 0x04 | 0x08 | 0x00 | 0x00 | 0x00 | 0x00, 322 // 28 29 2A 2B 2C 2D 2E 2F 323 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 324 // 30 31 32 33 34 35 36 37 325 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 326 // 38 39 3A 3B 3C 3D 3E 3F 327 0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x00, 328 // 40 41 42 43 44 45 46 47 329 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 330 // 48 49 4A 4B 4C 4D 4E 4F 331 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 332 // 50 51 52 53 54 55 56 57 333 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 334 // 58 59 5A 5B 5C 5D 5E 5F 335 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 336 // 60 61 62 63 64 65 66 67 337 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 338 // 68 69 6A 6B 6C 6D 6E 6F 339 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 340 // 70 71 72 73 74 75 76 77 341 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 342 // 78 79 7A 7B 7C 7D 7E 7F 343 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x80, 344 // 80 81 82 83 84 85 86 87 345 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 346 // 88 89 8A 8B 8C 8D 8E 8F 347 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 348 // 90 91 92 93 94 95 96 97 349 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 350 // 98 99 9A 9B 9C 9D 9E 9F 351 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 352 // A0 A1 A2 A3 A4 A5 A6 A7 353 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 354 // A8 A9 AA AB AC AD AE AF 355 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 356 // B0 B1 B2 B3 B4 B5 B6 B7 357 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 358 // B8 B9 BA BB BC BD BE BF 359 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 360 // C0 C1 C2 C3 C4 C5 C6 C7 361 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 362 // C8 C9 CA CB CC CD CE CF 363 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 364 // D0 D1 D2 D3 D4 D5 D6 D7 365 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 366 // D8 D9 DA DB DC DD DE DF 367 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 368 // E0 E1 E2 E3 E4 E5 E6 E7 369 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 370 // E8 E9 EA EB EC ED EE EF 371 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 372 // F0 F1 F2 F3 F4 F5 F6 F7 373 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 374 // F8 F9 FA FB FC FD FE FF 375 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 376 }; 377 378 // Same as QUERY_ENCODE_SET_NONSPECIAL, but with 0x27 (') encoded. 379 const uint8_t QUERY_ENCODE_SET_SPECIAL[32] = { 380 // 00 01 02 03 04 05 06 07 381 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 382 // 08 09 0A 0B 0C 0D 0E 0F 383 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 384 // 10 11 12 13 14 15 16 17 385 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 386 // 18 19 1A 1B 1C 1D 1E 1F 387 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 388 // 20 21 22 23 24 25 26 27 389 0x01 | 0x00 | 0x04 | 0x08 | 0x00 | 0x00 | 0x00 | 0x80, 390 // 28 29 2A 2B 2C 2D 2E 2F 391 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 392 // 30 31 32 33 34 35 36 37 393 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 394 // 38 39 3A 3B 3C 3D 3E 3F 395 0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x00, 396 // 40 41 42 43 44 45 46 47 397 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 398 // 48 49 4A 4B 4C 4D 4E 4F 399 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 400 // 50 51 52 53 54 55 56 57 401 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 402 // 58 59 5A 5B 5C 5D 5E 5F 403 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 404 // 60 61 62 63 64 65 66 67 405 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 406 // 68 69 6A 6B 6C 6D 6E 6F 407 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 408 // 70 71 72 73 74 75 76 77 409 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00, 410 // 78 79 7A 7B 7C 7D 7E 7F 411 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x80, 412 // 80 81 82 83 84 85 86 87 413 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 414 // 88 89 8A 8B 8C 8D 8E 8F 415 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 416 // 90 91 92 93 94 95 96 97 417 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 418 // 98 99 9A 9B 9C 9D 9E 9F 419 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 420 // A0 A1 A2 A3 A4 A5 A6 A7 421 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 422 // A8 A9 AA AB AC AD AE AF 423 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 424 // B0 B1 B2 B3 B4 B5 B6 B7 425 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 426 // B8 B9 BA BB BC BD BE BF 427 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 428 // C0 C1 C2 C3 C4 C5 C6 C7 429 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 430 // C8 C9 CA CB CC CD CE CF 431 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 432 // D0 D1 D2 D3 D4 D5 D6 D7 433 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 434 // D8 D9 DA DB DC DD DE DF 435 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 436 // E0 E1 E2 E3 E4 E5 E6 E7 437 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 438 // E8 E9 EA EB EC ED EE EF 439 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 440 // F0 F1 F2 F3 F4 F5 F6 F7 441 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80, 442 // F8 F9 FA FB FC FD FE FF 443 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 444 }; 445 446 } // namespace table_data 447 } // namespace url 448 } // namespace node 449