Pages

Friday, October 25, 2019

Encode or decode date in 3 characters

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

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

25-Oct-2019 → 25-10-2019 → 25.10.19 → P.A.J → paj

Similarly, decode it back as

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.


No comments:

Post a Comment