|
@ -6,9 +6,11 @@ |
|
|
#include <unordered_map> |
|
|
#include <unordered_map> |
|
|
|
|
|
|
|
|
const char SHORT_CODE_TABLE[32] = { |
|
|
const char SHORT_CODE_TABLE[32] = { |
|
|
'1', '2', '3', '4', '5', '6', '7', '8', '9', |
|
|
'1', '2', '3', '4', '5', '6', '7', '8', '9', // skip `0`
|
|
|
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'M', |
|
|
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', // skip `I`
|
|
|
'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', |
|
|
'J', 'K', // skip `L`
|
|
|
|
|
|
'M', 'N', // skip `O`
|
|
|
|
|
|
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const char SHORT_CODE_TABLE_REV[42] = { |
|
|
const char SHORT_CODE_TABLE_REV[42] = { |
|
@ -24,20 +26,6 @@ const char SHORT_CODE_TABLE_REV[42] = { |
|
|
26, 27, 28, 29, 30, 31, |
|
|
26, 27, 28, 29, 30, 31, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 00: 1 -> 49 (00)
|
|
|
|
|
|
// ...
|
|
|
|
|
|
// 08: 9 -> 57 (08)
|
|
|
|
|
|
// 09: A -> 65 (16)
|
|
|
|
|
|
// ...
|
|
|
|
|
|
// 16: H -> 72 (23)
|
|
|
|
|
|
// 17: J -> 74 (25)
|
|
|
|
|
|
// 18: K -> 75 (26)
|
|
|
|
|
|
// 19: M -> 77 (28)
|
|
|
|
|
|
// 20: N -> 78 (29)
|
|
|
|
|
|
// 21: P -> 80 (31)
|
|
|
|
|
|
// ...
|
|
|
|
|
|
// 31: Z -> 90 (41)
|
|
|
|
|
|
|
|
|
|
|
|
class ShortCode { |
|
|
class ShortCode { |
|
|
public: |
|
|
public: |
|
|
enum Mode {NORMAL, FAST}; |
|
|
enum Mode {NORMAL, FAST}; |
|
|