124 lines
3.1 KiB
JavaScript
124 lines
3.1 KiB
JavaScript
// The position in the array is the (checksum) value
|
|
export const SYMBOLS = [
|
|
'0', '1', '2', '3',
|
|
'4', '5', '6', '7',
|
|
'8', '9', 'A', 'B',
|
|
'C', 'D', 'E', 'F',
|
|
'G', 'H', 'I', 'J',
|
|
'K', 'L', 'M', 'N',
|
|
'O', 'P', 'Q', 'R',
|
|
'S', 'T', 'U', 'V',
|
|
'W', 'X', 'Y', 'Z',
|
|
'-', '.', ' ', '$',
|
|
'/', '+', '%',
|
|
// Only used for csum and multi-symbols character encodings
|
|
'($)', '(%)', '(/)', '(+)',
|
|
// Start/Stop
|
|
'\xff',
|
|
];
|
|
|
|
// Order matches SYMBOLS array
|
|
export const BINARIES = [
|
|
'100010100', '101001000', '101000100', '101000010',
|
|
'100101000', '100100100', '100100010', '101010000',
|
|
'100010010', '100001010', '110101000', '110100100',
|
|
'110100010', '110010100', '110010010', '110001010',
|
|
'101101000', '101100100', '101100010', '100110100',
|
|
'100011010', '101011000', '101001100', '101000110',
|
|
'100101100', '100010110', '110110100', '110110010',
|
|
'110101100', '110100110', '110010110', '110011010',
|
|
'101101100', '101100110', '100110110', '100111010',
|
|
'100101110', '111010100', '111010010', '111001010',
|
|
'101101110', '101110110', '110101110', '100100110',
|
|
'111011010', '111010110', '100110010', '101011110',
|
|
];
|
|
|
|
// Multi-symbol characters (Full ASCII Code 93)
|
|
export const MULTI_SYMBOLS = {
|
|
'\x00': ['(%)', 'U'],
|
|
'\x01': ['($)', 'A'],
|
|
'\x02': ['($)', 'B'],
|
|
'\x03': ['($)', 'C'],
|
|
'\x04': ['($)', 'D'],
|
|
'\x05': ['($)', 'E'],
|
|
'\x06': ['($)', 'F'],
|
|
'\x07': ['($)', 'G'],
|
|
'\x08': ['($)', 'H'],
|
|
'\x09': ['($)', 'I'],
|
|
'\x0a': ['($)', 'J'],
|
|
'\x0b': ['($)', 'K'],
|
|
'\x0c': ['($)', 'L'],
|
|
'\x0d': ['($)', 'M'],
|
|
'\x0e': ['($)', 'N'],
|
|
'\x0f': ['($)', 'O'],
|
|
'\x10': ['($)', 'P'],
|
|
'\x11': ['($)', 'Q'],
|
|
'\x12': ['($)', 'R'],
|
|
'\x13': ['($)', 'S'],
|
|
'\x14': ['($)', 'T'],
|
|
'\x15': ['($)', 'U'],
|
|
'\x16': ['($)', 'V'],
|
|
'\x17': ['($)', 'W'],
|
|
'\x18': ['($)', 'X'],
|
|
'\x19': ['($)', 'Y'],
|
|
'\x1a': ['($)', 'Z'],
|
|
'\x1b': ['(%)', 'A'],
|
|
'\x1c': ['(%)', 'B'],
|
|
'\x1d': ['(%)', 'C'],
|
|
'\x1e': ['(%)', 'D'],
|
|
'\x1f': ['(%)', 'E'],
|
|
'!': ['(/)', 'A'],
|
|
'"': ['(/)', 'B'],
|
|
'#': ['(/)', 'C'],
|
|
'&': ['(/)', 'F'],
|
|
'\'': ['(/)', 'G'],
|
|
'(': ['(/)', 'H'],
|
|
')': ['(/)', 'I'],
|
|
'*': ['(/)', 'J'],
|
|
',': ['(/)', 'L'],
|
|
':': ['(/)', 'Z'],
|
|
';': ['(%)', 'F'],
|
|
'<': ['(%)', 'G'],
|
|
'=': ['(%)', 'H'],
|
|
'>': ['(%)', 'I'],
|
|
'?': ['(%)', 'J'],
|
|
'@': ['(%)', 'V'],
|
|
'[': ['(%)', 'K'],
|
|
'\\': ['(%)', 'L'],
|
|
']': ['(%)', 'M'],
|
|
'^': ['(%)', 'N'],
|
|
'_': ['(%)', 'O'],
|
|
'`': ['(%)', 'W'],
|
|
'a': ['(+)', 'A'],
|
|
'b': ['(+)', 'B'],
|
|
'c': ['(+)', 'C'],
|
|
'd': ['(+)', 'D'],
|
|
'e': ['(+)', 'E'],
|
|
'f': ['(+)', 'F'],
|
|
'g': ['(+)', 'G'],
|
|
'h': ['(+)', 'H'],
|
|
'i': ['(+)', 'I'],
|
|
'j': ['(+)', 'J'],
|
|
'k': ['(+)', 'K'],
|
|
'l': ['(+)', 'L'],
|
|
'm': ['(+)', 'M'],
|
|
'n': ['(+)', 'N'],
|
|
'o': ['(+)', 'O'],
|
|
'p': ['(+)', 'P'],
|
|
'q': ['(+)', 'Q'],
|
|
'r': ['(+)', 'R'],
|
|
's': ['(+)', 'S'],
|
|
't': ['(+)', 'T'],
|
|
'u': ['(+)', 'U'],
|
|
'v': ['(+)', 'V'],
|
|
'w': ['(+)', 'W'],
|
|
'x': ['(+)', 'X'],
|
|
'y': ['(+)', 'Y'],
|
|
'z': ['(+)', 'Z'],
|
|
'{': ['(%)', 'P'],
|
|
'|': ['(%)', 'Q'],
|
|
'}': ['(%)', 'R'],
|
|
'~': ['(%)', 'S'],
|
|
'\x7f': ['(%)', 'T'],
|
|
};
|