kazuhikoarase / qrcode-generator

QR Code Generator implementation in JavaScript, Java and more.
https://kazuhikoarase.github.io/qrcode-generator/js/demo/
MIT License
2.1k stars 677 forks source link

Length limit? #46

Closed pperrin closed 6 years ago

pperrin commented 6 years ago

I have been playing with the code - cheers!

But while various specs say a QRCode can contain thousands of characters (and other apps encode long messages that are successfully decoded). This code seems limited to a couple of hundred chars...

pperrin commented 6 years ago

Ok, worked out the missing code... ,

// 11 array(772, 468, 321, 198), array(604, 366, 251, 155), array(427, 259, 177, 109), array(331, 200, 137, 85), // 12 array(883, 535, 367, 226), array(691, 419, 287, 177), array(489, 296, 203, 125), array(374, 227, 155, 96), // 13 array(22, 619, 425, 262), array(796, 483, 331, 204), array(580, 352, 241, 149), array(427, 259, 177, 109), // 14 array(1101, 667, 458, 282), array(871, 528, 362, 223), array(621, 376, 258, 159), array(468, 283, 194, 120), // 15 array(1250, 758, 520, 320), array(991, 600, 412, 254), array(703, 426, 292, 180), array(530, 321, 220, 136), // 16 array(1408, 854, 586, 361), array(1082, 656, 450, 277), array(775, 470, 322, 198), array(602, 365, 250, 154), // 17 array(1548, 938, 644, 397), array(1212, 734, 504, 310), array(876, 531, 364, 224), array(674, 408, 280, 173), // 18 array(1725, 1046, 718, 442), array(1346, 816, 560, 345), array(948, 574, 394, 243), array(746, 452, 310, 191), // 19 array(1903, 1153, 792, 488), array(1500, 909, 624, 384), array(1063, 644, 442, 272), array(813, 493, 338, 208), // 20 array(2061, 1249, 858, 528), array(1600, 970, 666, 410), array(1159, 702, 482, 297), array(919, 557, 382, 235), // 21 array(2232, 1352, 929, 572), array(1708, 1035, 711, 438), array(1224, 742, 509, 314), array(969, 587, 403, 248), // 22 array(2409, 1460, 1003, 618), array(1872, 1134, 779, 480), array(1358, 823, 565, 348), array(1056, 640, 439, 270), // 23 array(2620, 1588, 1091, 672), array(2059, 1248, 857, 528), array(1468, 890, 611, 376), array(1108, 672, 461, 284), // 24 array(2812, 1704, 1171, 721), array(2188, 1326, 911, 561), array(1588, 963, 661, 407), array(1228, 744, 511, 315), // 25 array(3057, 1853, 1273, 784), array(2395, 1451, 997, 614), array(1718, 1041, 715, 440), array(1286, 779, 535, 330), // 26 array(3283, 1990, 1367, 842), array(2544, 1542, 1059, 652), array(1804, 1094, 751, 462), array(1425, 864, 593, 365), // 27 array(3517, 2132, 1465, 902), array(2701, 1637, 1125, 692), array(1933, 1172, 805, 496), array(1501, 910, 625, 385), // 28 array(3669, 2223, 1528, 940), array(2857, 1732, 1190, 732), array(2085, 1263, 868, 534), array(1581, 958, 658, 405), // 29 array(3909, 2369, 1628, 1002),array (3035, 1839, 1264, 778), array(2181, 1322, 908, 559), array(1677, 1016, 698, 430), // 30 array(4158, 2520, 1732, 1066), array(3289, 1994, 1370, 843), array(2358, 1429, 982, 604), array(1782, 1080, 742, 457), // 31 array(4417, 2677, 1840, 1132), array(3486, 2113, 1452, 894), array(2473, 1499, 1030, 634), array(1897, 1150, 790, 486), // 32 array(4686, 2840, 1952, 1201), array(3693, 2238, 1538, 947), array(2670, 1618, 1112, 684), array(2022, 1226, 842, 518), // 33 array(4965, 3009, 2068, 1273), array(3909, 2369, 1628, 1002), array(2805, 1700, 1168, 719), array(2157, 1307, 898, 553), // 34 array(5253, 3183, 2188, 1347), array(4134, 2506, 1722, 1060), array(2949, 1787, 1228, 756), array(2301, 1394, 958, 590), // 35 array(5529, 3351, 2303, 1417), array(4343, 2632, 1809, 1113), array(3081, 1867, 1283, 790), array(2361, 1431, 983, 605), // 36 array(5836, 3537, 2431, 1496), array(4588, 2780, 1911, 1176), array(3244, 1966, 1351, 832), array(2524, 1530, 1051, 647), // 37 array(6153, 3729, 2563, 1577), array(4775, 2894, 1989, 1224), array(3417, 2071, 1423, 876), array(2625, 1591, 1093, 673), // 38 array(6479, 3927, 2699, 1661), array(5039, 3054, 2099, 1292), array(3599, 2181, 1499, 923), array(2735, 1658, 1139, 701), // 39 array(6743, 4087, 2809, 1729), array(5313, 3220, 2213, 1362), array(3791, 2298, 1579, 972), array(2927, 1774, 1219, 750), // 40 array(7089, 4296, 2953, 1817), array(5596, 3391, 2331, 1435), array(3993, 2420, 1663, 1024), array(3057, 1852, 1273, 784)


but PHP is maxing out of memory running for big qrcodes, so I guess that is why it only went to 10!

kazuhikoarase commented 6 years ago

Hi,

Your table seems broken. I added the additional data table to my code.

https://github.com/kazuhikoarase/qrcode-generator/commit/7149d7ca83418c21b6451c53b333c92f1586de34

Although it is heavy, but works...

Thank you.