KingofGamesYami said something intersting
FYI you can store two colors in a single character/byte, because there are 256 possible characters and 16 * 16 = 256. So, to store text and colors for said text, you'd need only two characters.
Maybe you want to try again using that?
and I wanted to try this out but after some minutes of testing I found a "problem" (I think I just don't have the needed knowledge): When I combine the numbers together there is no way to "reveal" the factors. When factorizing the "output" number, there are multiple results.
For example:
The two numbers are 5 and 6.
When multiplied it is 30.
All the factor pairs I found are:
1,30
2,15
3,10
5,6
6,5
10,3
15,2
30,1
Now, most of them are valid color pairs. How do I get back to my pair of 5 and 6?
I could assign every color pair a specific character, but that would make my code extremely huge.