Compression, if it's just numbers like that, and a couple of symbols, should be fairly easy man. You have 0,1,2,3,4,5,6,7,8,9,+,-,/,* (14 (based on the code you posted) different combination of character there. So, each character should take 4 bits each maximum (that would hold 0 to 14, 15 is the termination character (that gives you 16 different states). 4 divides nicely into 16 (bits for a character string) and gives you 4.
So, you should be able to shorten the above by about 4 times.
You will need in your code, an array to hold each bits values, so:
dim com_array(15)
for loop = 0 to 9
com_array(loop) = loop
next
com_array(10) = "+"
com_array(11) = "-"
com_array(12) = "*"
com_array(13) = "/"
Then you can divide the string into character chunks of 4:
+1200121050023/0200134000233430+1200121450012
would be:
"+120"
take each character in turn and convert it into bits, using your array...
1010 + 0001 + 0002 + 0000
gives you a 16 bit character code, that you can add together with the rest of them. However, on hindsight here, i don't know if you can copy and paste 16 bit character code (UTF-16) or whether blitz3d support it... So you might have to opt for the 8 bit ascii code, which means you'll only be able to halve your string size, which is still pretty good i reckon.