| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- # Store all kinds of lookup table.
- # # generate rsPoly lookup table.
- # from qrcode import base
- # def create_bytes(rs_blocks):
- # for r in range(len(rs_blocks)):
- # dcCount = rs_blocks[r].data_count
- # ecCount = rs_blocks[r].total_count - dcCount
- # rsPoly = base.Polynomial([1], 0)
- # for i in range(ecCount):
- # rsPoly = rsPoly * base.Polynomial([1, base.gexp(i)], 0)
- # return ecCount, rsPoly
- # rsPoly_LUT = {}
- # for version in range(1,41):
- # for error_correction in range(4):
- # rs_blocks_list = base.rs_blocks(version, error_correction)
- # ecCount, rsPoly = create_bytes(rs_blocks_list)
- # rsPoly_LUT[ecCount]=rsPoly.num
- # print(rsPoly_LUT)
- # Result. Usage: input: ecCount, output: Polynomial.num
- # e.g. rsPoly = base.Polynomial(LUT.rsPoly_LUT[ecCount], 0)
- rsPoly_LUT = {
- 7: [1, 127, 122, 154, 164, 11, 68, 117],
- 10: [1, 216, 194, 159, 111, 199, 94, 95, 113, 157, 193],
- 13: [1, 137, 73, 227, 17, 177, 17, 52, 13, 46, 43, 83, 132, 120],
- 15: [1, 29, 196, 111, 163, 112, 74, 10, 105, 105, 139, 132, 151, 32, 134, 26],
- 16: [1, 59, 13, 104, 189, 68, 209, 30, 8, 163, 65, 41, 229, 98, 50, 36, 59],
- 17: [1, 119, 66, 83, 120, 119, 22, 197, 83, 249, 41, 143, 134, 85, 53, 125, 99, 79],
- 18: [
- 1,
- 239,
- 251,
- 183,
- 113,
- 149,
- 175,
- 199,
- 215,
- 240,
- 220,
- 73,
- 82,
- 173,
- 75,
- 32,
- 67,
- 217,
- 146,
- ],
- 20: [
- 1,
- 152,
- 185,
- 240,
- 5,
- 111,
- 99,
- 6,
- 220,
- 112,
- 150,
- 69,
- 36,
- 187,
- 22,
- 228,
- 198,
- 121,
- 121,
- 165,
- 174,
- ],
- 22: [
- 1,
- 89,
- 179,
- 131,
- 176,
- 182,
- 244,
- 19,
- 189,
- 69,
- 40,
- 28,
- 137,
- 29,
- 123,
- 67,
- 253,
- 86,
- 218,
- 230,
- 26,
- 145,
- 245,
- ],
- 24: [
- 1,
- 122,
- 118,
- 169,
- 70,
- 178,
- 237,
- 216,
- 102,
- 115,
- 150,
- 229,
- 73,
- 130,
- 72,
- 61,
- 43,
- 206,
- 1,
- 237,
- 247,
- 127,
- 217,
- 144,
- 117,
- ],
- 26: [
- 1,
- 246,
- 51,
- 183,
- 4,
- 136,
- 98,
- 199,
- 152,
- 77,
- 56,
- 206,
- 24,
- 145,
- 40,
- 209,
- 117,
- 233,
- 42,
- 135,
- 68,
- 70,
- 144,
- 146,
- 77,
- 43,
- 94,
- ],
- 28: [
- 1,
- 252,
- 9,
- 28,
- 13,
- 18,
- 251,
- 208,
- 150,
- 103,
- 174,
- 100,
- 41,
- 167,
- 12,
- 247,
- 56,
- 117,
- 119,
- 233,
- 127,
- 181,
- 100,
- 121,
- 147,
- 176,
- 74,
- 58,
- 197,
- ],
- 30: [
- 1,
- 212,
- 246,
- 77,
- 73,
- 195,
- 192,
- 75,
- 98,
- 5,
- 70,
- 103,
- 177,
- 22,
- 217,
- 138,
- 51,
- 181,
- 246,
- 72,
- 25,
- 18,
- 46,
- 228,
- 74,
- 216,
- 195,
- 11,
- 106,
- 130,
- 150,
- ],
- }
|