## Downfall binary decoding

The ones and zeros at the bottom of the Downfall passports may look like random decoration, but they actually represent text describing the celestial domains of each character. A quick explanation of how this works and how it can be decoded is below.

### What is binary?

Binary is a system that uses ones and zeros to represent numbers, similarly to
how the decimal system you are familiar with uses the digits 0 through 9.
While the decimal system is base 10, binary is base 2. This means that each
place is an increasing power of 2 from right to left. In base 10 the rightmost
place is the ones place (10^{0} = 1), the spot to its left is the tens
place (10^{1} = 10), the next is the hundreds place (10^{2} =
100), then the thousands place (10^{3} = 1000), and so on. In base 2
we have the ones place (2^{0} = 1), twos place (2^{1} = 2),
fours place (2^{2} = 4), eights place (2^{3} = 8), etc.

Just like in decimal, you get the value represented by adding together the value of each place multiplied by the digit in that place. So 123 in decimal is 1×100 + 2×10 + 3×1. 10010 in binary is 1×16 + 0×8 + 0×4 + 1×2 + 0×1.

Binary is useful for computers because it can represent all numbers and data as a sequence of only two states, 1 or 0, on or off. This is easier to implement than a hard drive that needs to be able to distinguish 10 distinct levels of magnetic resonance, or a CPU that needs to define arithmetic operation circuitry for 10 types of digits. Other types of computers have been made in the past (see the ternary computer), but nowadays binary is what we’ve all settled on.

Binary on its own doesn’t have any inherent meaning beyond its numeric value. To convert to text, you need to apply a text encoding.

### Text encodings

All data stored on computers is represented as numbers. In order to represent text, you need a defined way of mapping from a number to a unit of text such as a letter or a character. This mapping is represented using a text encoding.

There are many text encodings that have existed throughout time and we won’t cover them all here. The most common used today are Unicode encodings which can represent many existing and historical writing systems as well as hundreds of symbols, emoji, and control characters. You already see Unicode everywhere. In fact, the text on this website is encoded using a Unicode encoding called “UTF-8”. The binary on the passports is encoded using ASCII, which is a subset of Unicode. This encoding is common for representing English text and supports a total of 127 characters. Each character fits into a single byte (8 bits), although only the lower 7 bits are actually used.

A character encoding maps a number to a unit of text. So for example, in ASCII the number 65 corresponds to the character “A”. All characters represented in ASCII can be found at www.ascii-code.com.

### Decoding the passports

To decode the passports, we just need the two things we learned above: binary is used to represent numbers, and numbers can be converted to text using a text encoding. Let’s walk through converting Asha’s passport:

The binary numbers on their passport are 01001110, 01000001, 01010100, 01010101, 01010010, and 01000101. We can look them up directly in the ASCII table. If we wanted to determine their numeric value (and in the process convert them to decimal, since that’s the standard system we use to represent numbers), we can add together the place values like below:

0×128 + 1×64 + 0×32 + 0×16 + 1×8 + 1×4 + 1×2 + 0×1 = 78

For each number, we look it up in the ASCII table. You can also determine the mapped character by using a programming language like in the below Python example:

` ````
>>> chr(0b01001110)
'N'
```

Looking 01001110 up in the ASCII table we get “N”, the capital letter N. Do that for every binary number, and we get the decoded word!

The binary numbers on the passports, their equivalent decimal values, and their mapped characters are given below. We at the Omen Archive love data, whether it comes from a d20 or d10100. Thanks for reading!

### Decoded tables

#### Asha

Binary | Decimal | Character |
---|---|---|

01001110 | 78 | N |

01000001 | 65 | A |

01010100 | 84 | T |

01010101 | 85 | U |

01010010 | 82 | R |

01000101 | 69 | E |

#### S.I.L.A.H.A

Binary | Decimal | Character |
---|---|---|

01000010 | 66 | B |

01000101 | 69 | E |

01000001 | 65 | A |

01010101 | 85 | U |

01010100 | 84 | T |

01011001 | 89 | Y |

#### Trist

Binary | Decimal | Character |
---|---|---|

01001101 | 77 | M |

01000101 | 69 | E |

01010010 | 82 | R |

01000011 | 67 | C |

01011001 | 89 | Y |

#### The Emissary

Binary | Decimal | Character |
---|---|---|

01001100 | 76 | L |

01000001 | 65 | A |

01010111 | 87 | W |

#### Ayden

Binary | Decimal | Character |
---|---|---|

01000100 | 68 | D |

01000001 | 65 | A |

01010111 | 87 | W |

01001110 | 78 | N |

#### Emhira

Binary | Decimal | Character |
---|---|---|

01000100 | 68 | D |

01000101 | 69 | E |

01000001 | 65 | A |

01010100 | 84 | T |

01001000 | 72 | H |