05 Binary codes

In mystery solving, you quite often encounter zeros and irons. Or something that can be broken down in code to two states: two different colours or sounds, something is true or false, something is there or gone, long or short. Or, for example, capital letters where they don’t belong.

CapitalBucH letters, if the capital letter symbolises 1, could give the binary number 100101001000000.

And then you are faced with the zeros and ones, which by no means always have to be dual numbers. The example above would still result in 19008, which is a coherent north coordinate where I live – if you add a 52° in front and put a dot after the 19.

But the encoding may have been done on a binary code other than that of the dual numbers.

I endeavour here to introduce some of the more common binary codes.

Helpful in finding the appropriate binary code, is the length of the binary number. If it is 5 digits long, or divisible by 5, it could be Baudot or Baudot -Murray code (CCITT-1 and CCITT-2, respectively ITA-2) . This originates from the time of telegraphy and is originally divided into a 2-bit and a 3-bit area. This can be used to represent numbers and letters, as well as some special characters. Often, the listings of such caches contain pictures of punched tape representing Baudot code. The biggest difficulty here is to find out which side of the punched tape is being read from and which Baudot/CCITT/ITA has been used.

Not really zeros and ones, but the letters A and B were used by Mr Bacon for his bacon cipher . He simply assigned each letter in the alphabet a five-digit code, consisting of the two letters A and B.

The word “Mysterie” in Bacon cipher is thus: ababb babba baaab baaba aabaa baaaa babba.

This coding can be hidden inconspicuously in the text. One could, even if it takes a little effort, write a text together in which the existing letters A and B result in Bacon’s cipher. Or, again, use capitalisation and kLeinSchReibUNG, and assign the uppercase letters, for example, the A, and the lowercase letters the B. The letters could also be partially written in bold or italics to represent the two states, in this case a or b. There are enough possibilities, and mystery owners are also tricky enough to invent almost infinite numbers of them 😉 .

AaaaaaI, JabaaaRbaaaa
DaaabbMababbU, Vbaabb

ASCII is probably the best-known representative of binary codes, apart from dual numbers. The “American Standard Code for Information Interchange” is a 7-bit character encoding used by computers that was published as a standard as early as 1963. It can represent 128 characters (the Latin alphabet, Arabic numerals, some punctuation marks) and is understood and supported by an innumerable mass of devices and programmes. The surplus eighth bit (an ascii character is usually stored in one byte, so would have room for eight bits) is either misused as a check digit, or to represent country-specific ASCII character sets. The German umlauts, for example.

The ASCII character set is excellent for encoding caches, especially since it can be represented not only directly in binary, but also in HEX or octal.


BCD (Binary Coded Decimal ) is another well-known binary code. It exists as a 4-bit and a 6-bit code. The 4 is an 8-4-2-1 code. This is a numeric code whose valence corresponds to the known dual system. Digits from 0-9 can be represented. Theoretically, 16 instead of 10 decimal numbers could be represented with such a “half byte”, but it has been agreed that this is not done with BCD. One byte is 8 bits, i.e. 8 digits, so the 4-bit BCD code is half a byte long. This half-byte is also called a nibble. I have actually encountered this in a night cache.

BCD also exists as a 6-bit code . This can represent letters and some special characters in addition to digits.

The BCD counting code is 10 bits long, with each bit having a valence of 1 in the decimal system. You get the number you are looking for by simply adding the ones. This simple adding of ones, instead of complicated searching for encodings, is something that could be tried in mystery decoding.

Rare but possible is also the 1-out-of-n code, where there are 10 bits, 9 of which are always 0 and the 1 serves as a counter. If it is on the 7th position from the right (0001000000 ), it stands for a decimal 6, if it is on the 2nd position from the right (00000010), it is worth one, on the far right (00000001) it is a decimal zero.

Other 4-bit special forms: the Aiken code, where the fourth digit from the left is not worth 8, as in 4-bit BCD, but 2. So it’s a 2-4-2-1 code. Or the Gray code, which also exists as 2-bit, 3-bit, 4-bit, 5-bit and 6-bit codes. It is characterised by adjacent codewords differing only in a single dual digit and is designed to minimise reading errors.

Braille, the Braille with the little dots, is also binary, so it has two states. There’s a bump or there’s no bump. Several mysteries have annoyed me with this, because I looked at the 3-high-2-wide format far too late and dazzled by all the computer coding to think of the Braille system.

Morse is also a candidate, which is actually not so really and then again binary codes. There are two states, only with Morse they are actually called long and short, dot and dash. In principle, however, it is the same here, somewhere we find binary encryption and the key to this could be Morse’s alphabet. However, Morse has a serious disadvantage that could help with recognition: the individual characters are of different lengths. Frequently used letters, such as the E, have short Morse characters (one . ), long Morse characters have five dashes and dots (special characters often even have six). To be able to translate Morse reliably, the encoded message needs spaces between the individual characters. Digits, on the other hand, are always five Morse characters long in Morse and are even relatively easy to learn thanks to their symmetrical structure.