constants.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // The position in the array is the (checksum) value
  2. export const SYMBOLS = [
  3. '0', '1', '2', '3',
  4. '4', '5', '6', '7',
  5. '8', '9', 'A', 'B',
  6. 'C', 'D', 'E', 'F',
  7. 'G', 'H', 'I', 'J',
  8. 'K', 'L', 'M', 'N',
  9. 'O', 'P', 'Q', 'R',
  10. 'S', 'T', 'U', 'V',
  11. 'W', 'X', 'Y', 'Z',
  12. '-', '.', ' ', '$',
  13. '/', '+', '%',
  14. // Only used for csum and multi-symbols character encodings
  15. '($)', '(%)', '(/)', '(+)',
  16. // Start/Stop
  17. '\xff',
  18. ];
  19. // Order matches SYMBOLS array
  20. export const BINARIES = [
  21. '100010100', '101001000', '101000100', '101000010',
  22. '100101000', '100100100', '100100010', '101010000',
  23. '100010010', '100001010', '110101000', '110100100',
  24. '110100010', '110010100', '110010010', '110001010',
  25. '101101000', '101100100', '101100010', '100110100',
  26. '100011010', '101011000', '101001100', '101000110',
  27. '100101100', '100010110', '110110100', '110110010',
  28. '110101100', '110100110', '110010110', '110011010',
  29. '101101100', '101100110', '100110110', '100111010',
  30. '100101110', '111010100', '111010010', '111001010',
  31. '101101110', '101110110', '110101110', '100100110',
  32. '111011010', '111010110', '100110010', '101011110',
  33. ];
  34. // Multi-symbol characters (Full ASCII Code 93)
  35. export const MULTI_SYMBOLS = {
  36. '\x00': ['(%)', 'U'],
  37. '\x01': ['($)', 'A'],
  38. '\x02': ['($)', 'B'],
  39. '\x03': ['($)', 'C'],
  40. '\x04': ['($)', 'D'],
  41. '\x05': ['($)', 'E'],
  42. '\x06': ['($)', 'F'],
  43. '\x07': ['($)', 'G'],
  44. '\x08': ['($)', 'H'],
  45. '\x09': ['($)', 'I'],
  46. '\x0a': ['($)', 'J'],
  47. '\x0b': ['($)', 'K'],
  48. '\x0c': ['($)', 'L'],
  49. '\x0d': ['($)', 'M'],
  50. '\x0e': ['($)', 'N'],
  51. '\x0f': ['($)', 'O'],
  52. '\x10': ['($)', 'P'],
  53. '\x11': ['($)', 'Q'],
  54. '\x12': ['($)', 'R'],
  55. '\x13': ['($)', 'S'],
  56. '\x14': ['($)', 'T'],
  57. '\x15': ['($)', 'U'],
  58. '\x16': ['($)', 'V'],
  59. '\x17': ['($)', 'W'],
  60. '\x18': ['($)', 'X'],
  61. '\x19': ['($)', 'Y'],
  62. '\x1a': ['($)', 'Z'],
  63. '\x1b': ['(%)', 'A'],
  64. '\x1c': ['(%)', 'B'],
  65. '\x1d': ['(%)', 'C'],
  66. '\x1e': ['(%)', 'D'],
  67. '\x1f': ['(%)', 'E'],
  68. '!': ['(/)', 'A'],
  69. '"': ['(/)', 'B'],
  70. '#': ['(/)', 'C'],
  71. '&': ['(/)', 'F'],
  72. '\'': ['(/)', 'G'],
  73. '(': ['(/)', 'H'],
  74. ')': ['(/)', 'I'],
  75. '*': ['(/)', 'J'],
  76. ',': ['(/)', 'L'],
  77. ':': ['(/)', 'Z'],
  78. ';': ['(%)', 'F'],
  79. '<': ['(%)', 'G'],
  80. '=': ['(%)', 'H'],
  81. '>': ['(%)', 'I'],
  82. '?': ['(%)', 'J'],
  83. '@': ['(%)', 'V'],
  84. '[': ['(%)', 'K'],
  85. '\\': ['(%)', 'L'],
  86. ']': ['(%)', 'M'],
  87. '^': ['(%)', 'N'],
  88. '_': ['(%)', 'O'],
  89. '`': ['(%)', 'W'],
  90. 'a': ['(+)', 'A'],
  91. 'b': ['(+)', 'B'],
  92. 'c': ['(+)', 'C'],
  93. 'd': ['(+)', 'D'],
  94. 'e': ['(+)', 'E'],
  95. 'f': ['(+)', 'F'],
  96. 'g': ['(+)', 'G'],
  97. 'h': ['(+)', 'H'],
  98. 'i': ['(+)', 'I'],
  99. 'j': ['(+)', 'J'],
  100. 'k': ['(+)', 'K'],
  101. 'l': ['(+)', 'L'],
  102. 'm': ['(+)', 'M'],
  103. 'n': ['(+)', 'N'],
  104. 'o': ['(+)', 'O'],
  105. 'p': ['(+)', 'P'],
  106. 'q': ['(+)', 'Q'],
  107. 'r': ['(+)', 'R'],
  108. 's': ['(+)', 'S'],
  109. 't': ['(+)', 'T'],
  110. 'u': ['(+)', 'U'],
  111. 'v': ['(+)', 'V'],
  112. 'w': ['(+)', 'W'],
  113. 'x': ['(+)', 'X'],
  114. 'y': ['(+)', 'Y'],
  115. 'z': ['(+)', 'Z'],
  116. '{': ['(%)', 'P'],
  117. '|': ['(%)', 'Q'],
  118. '}': ['(%)', 'R'],
  119. '~': ['(%)', 'S'],
  120. '\x7f': ['(%)', 'T'],
  121. };