Why?
I wanted to build a way of turning text into something (vaguely) pretty, devoid of obvious meaning but easily reformed back into text by hand — this is what I came up with!
How?
- A range of letters will be converted. At the moment there are four ranges: ASCII, URL, (positive) integer and (case insensitive) alphanumeric.
- Each character is converted into a number according to the chosen method (The number is represented in either base 6 (Alphanumeric), 7 (URL), 10 (Integer) or 16 (ASCII) depending on the method).
- More than 16 colours can be hard to tell apart, so for clarity all except the numerical method split each character number into two numbers. eg. 255 in base 16 (ASCII) becomes [ 16, 16 ]; 27 in base 7 (URL) becomes [ 3, 6 ] — have a look at bases on the wikipedia for more info.
- Each number is now converted to a colour according to the selections you make
- The colours are laid out in order (in a rectangle), and a 'key' is placed on the right so you can convert the colours back into numbers (the top colour = 0, the next = 1 and so on).
- You have a colourful picture that has a clearly interpretable message inside it!
Notes about the conversion methods
NB. Look at the 'character conversion' information above, it gives you the list of characters in order so you can convert back from a coloursheet
- ASCII is one of the original charcter indexing schemes where every character needed (at the time) was given a number ('a' is 97 for example). There are alot of useless characters, so your message make look strange.
- Alphanumeric only allows the letters a-z (which become 0-26) and numbers (that become 27-36) which means they can be described by two base-6 numbers, so two squares = one character with 6 different colours for each square.
- URLs only have a certain number of allowed characters. I picked the alphabet, numbers and 13 most popular symbols (arranged in ASCII order) to make 49 symbols. This makes two base-7 numbers, therefore two squares are one character and there are 7 possible colours for each square. You can enter any character, but if it is not present in the above 49 it will be urlencoded and will look like: %20 (which is a space).
- Integer is as it sounds, there are 10 colours, the first is 0, the last is 9!