I have developed a new way to encode/decode dates within 3 characters by using base-36 format.
What is a base 36 format?
Base 36 or hexatridecimal is a positional numeral system using 36 as the radix. The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 0-9 and the Latin letters A-Z.
In simple language, base-36 format refers to series of 0-9 followed by A-Z characters, i.e., 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; where each character refers to the position index in series.
The concept can also be represents as shown in the below table
e.g., 12 → C, 19 → J, 34 → Y
25-Oct-2019 → 25-10-2019 → 25.10.19 → P.A.J → paj
paj → P.A.J → 25.10.19 → 2019-10-25 → 25-Oct-2019
Note, here P.A.J is converted to lowercase as paj to make it more compact.
What is a base 36 format?
Base 36 or hexatridecimal is a positional numeral system using 36 as the radix. The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 0-9 and the Latin letters A-Z.
In simple language, base-36 format refers to series of 0-9 followed by A-Z characters, i.e., 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; where each character refers to the position index in series.
The concept can also be represents as shown in the below table
Series
|
Character
|
Series
|
Character
|
Series
|
Character
|
Series
|
Character
|
0
|
0
|
10
|
A
|
20
|
K
|
30
|
U
|
1
|
1
|
11
|
B
|
21
|
L
|
31
|
V
|
2
|
2
|
12
|
C
|
22
|
M
|
32
|
W
|
3
|
3
|
13
|
D
|
23
|
N
|
33
|
X
|
4
|
4
|
14
|
E
|
24
|
O
|
34
|
Y
|
5
|
5
|
15
|
F
|
25
|
P
|
35
|
Z
|
6
|
6
|
16
|
G
|
26
|
Q
|
|
|
7
|
7
|
17
|
H
|
27
|
R
|
|
|
8
|
8
|
18
|
I
|
28
|
S
|
|
|
9
|
9
|
19
|
J
|
29
|
T
|
|
|
e.g., 12 → C, 19 → J, 34 → Y
Now here is a way to use the same logic for date, so to do that let us take a date and encode it as
Similarly, decode it back as
Note, here P.A.J is converted to lowercase as paj to make it more compact.
Comments
Post a Comment