I found myself declaring so many things as old, I thought I might as well just make a whole page just for these legacy things.
for 8 bit file usage add C0 to the start to each 6 bit section
01/00 e | 09/08 c | 17/10 g | 25/18 m | 33/20 ( | 41/28 # | 49/30 } | 57/38 4
02/01 a | 10/09 l | 18/11 h | 26/19 q | 34/21 ) | 42/29 $ | 50/31 " | 58/39 5
03/02 r | 11/0A w | 19/12 j | 27/1A . | 35/22 / | 43/2A % | 51/32 < | 59/3A 6
04/03 i | 12/0B y | 20/13 k | 28/1B : | 36/23 - | 44/2B & | 52/33 > | 60/3B 7
05/04 o | 13/0C u | 21/14 z | 29/1C ' | 37/24 = | 45/2C * | 53/34 0 | 61/3C 8
06/05 t | 14/0D p | 22/15 x | 30/1D , | 38/25 [ | 46/2D _ | 54/35 1 | 62/3D 9
07/06 n | 15/0E d | 23/16 v | 31/1E ? | 39/26 ] | 47/2E + | 55/36 2 | 63/3E capNxt
08/07 s | 16/0F f | 24/17 b | 32/1F ! | 40/27 @ | 48/2F { | 56/37 3 | 64/3F lneBrk
encoding
1: make the length of each word (including punctuation, not including capNxt or lneBrk) as numbers as large as 63/3E, add
64/3F to the end, and place it in the result
{ignore the part before the first "," if only 1 word long}
[text limit => 040564 / 03043F|text. => 64 / 3F]
2: replace characters with corresponding numbers as shown above, and
place it in the result after the existing numbers
[64 / 3F & text. => 640601220627 / 3F050015051A]
<ignore the following steps if you wish to not encrypt and decode
the text>
3: square the whole resulting number*
[640601220627 => 410369923868802330273129]
[3F050015051A => F837623595500BDD65E06A4]
4: initialize the numbers for decoding (A for dec, B for hex)
A: go through each pair of digits, if the number is too big (max: 63 initially and finally, 64 anywhere else), or if you feel like it, add
a ~0 before the number, and jump forward only one digit
[410369923868802330273129 =>
41 03 ~06 ~09 ~09 23 ~08 ~06 ~08 ~08 02 33 02 ~07 31 29]
B: convert the whole thing to binary, add 00 to the beginning
of the number and between every group of 6 bits, and convert
back to hex
{if the amount of bits isn't originally a multiple of 6, add an
amount of ~s to the end corresponding to the amount of pairs of
bits needed to make it a multiple of 6, treat the ~s as "10"
[F837623595500BDD65E06A4 =>
00111110 00000011 00011101 00100010 00001101 00011001 00010101
00010000 00000010 00111101 00110101 00100101 00111000 00000110
00101001 0000~~ =>
3E 03 1D 22 0D 19 15 10 02 3D 35 25 38 06 29 0A ~~]
5: replace all of the pairs of digits with their corresponding
characters as shown above**
[4103~06~09~0923~08~06~08~08023302~073129 =>
# r ~t ~c ~c v ~s ~t ~s ~s a ( a ~n ? ']
[3E031D220D191510023D35253806290A~~ =>
I , / p q x g r 9 1 [ 4 n $ w ~~]
i l o v e y o u
04 10052301 125013
| / / /
010403640410052301125013
0108235733781673212295350152558337625454250169
01|08|23|57|33|~7|~8|16|~7|32|12|29|53|50|15|25|58|33|~7|62|54|54|25|01|~6|~9
e s v 4 ( ~n ~s f ~n ! y ' 0 " d m 5 ( ~n 9 1 1 m e ~t ~c
esv4(~n~sf~n!y'0"dm5(~n911me~t~c
*it is possible that the number starts with one or more 0s, if it does, ensure that the 0s are conserved between the two forms (see second example)
*hex and dec are not compatible in any way
**if you run into a 00 in dec which can’t be removed with ~, replace it with any of these four characters: `;\|
decrypting:
follow the first two steps in the “encoding”
[t/'*~ne'u
.z~t~c_~t~s)i7a~c~n~s&?~nl~sw~n~c~t4~n~s$(8~c~n-~sn~nwoj?'
=>
06432945~07012913642721~06~0946~06~0834046002~09~07~084431~0710~0811~07~09~0657~07~08423361~09~0736~0807~071105193129] (example is DEC)
initialize for decrypting, this step is different between the two systems (A: DEC/B: HEX)
A: remove all the ~0s found in the number
[0643294570129136427216946683404600297844317108117965778423361973680771105193129]
B: remove all the 00s from the start of each byte and remove the ~s, if present
take the square root of the resulting number and ensure the result is a whole number, take care to preserve leading 0s
[0802056463180203060208040204082401200627]
if the result is not a whole number it’s either in the wrong system or you messed up somewhere.
replace the pairs of digits with the letters, do not do so with or before the first 64
[0802056463180203060208040204082401200627
=>08020564 H a r t a s i a i s b e s t .]
separate the result given the widths of each word
[08020564Hartasiaisbest.
=>
Hartasia is best.]