in reply to bitwise string operator
Your bitwise-xor (^) necessarily sets bits 7 and 8 to false since you only have alphabetics. The bitwise-or (|) sets the 5th and 6th bits to true. 0011xxxx (or xxx1100 if you are a little endian) corresponds to the ASCII column that contains all the numbers.
So your output is a series of numeric characters, not a number.
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.