Chapter 2 "ASCII"

Despite a recent brush with overheating, Flamey spotted his friend Starlax enthusiastically waving from the iconic blue steps of Literature Hall. "Flamey! Creative Writing too?"

"Indeed," Flamey replied, still climbing the stairs. "Running late again?"

"Not at all," Starlax smiled. "But Mrs. Katseen's class is popular. Early arrival secures better seats."

"True," Flamey agreed, recalling the lottery system implemented due to high demand. Entering the classroom, they were surprised to find Professor Evergreen behind a transparent carbon fiber desk, surrounded by empty chairs.

"Apologies," Flamey started, unsure if they were in the right room.

"This is Creative Writing," Professor Evergreen confirmed. "Sadly, a hybrid virus is sweeping the campus, striking many students and staff, including Mrs. Katseen. That’s why I’m here today as your substitute."

Flamey and Starlax exchanged nervous glances. This wasn't exactly their planned adventure.

"According to Mrs. Katseen's notes," Professor Evergreen continued, "we're to discuss 'Aegis: Saga of Conflict, Idealism, and Identity' a masterpiece penned by Edward Grant during the Third Human Robot War..."

He paused. "You're familiar with it, I presume?"

"Yes," Starlax replied. "Often called ASCII, this text laid the foundation for our harmonious coexistence."

"And I've done five book reports on it since kindergarten," Flamey added proudly.

"ASCII, intriguing," Professor Evergreen murmured. "There's also an ancient text encoding method called ASCII, standing for American Standard Code for Information Interchange. Remember I mentioned binary representing anything? Have you considered how text can be encoded?"

"No," Flamey confessed. "I thought binary was just for numbers."

"Precisely," Professor Evergreen said. "Since languages have finite letters and symbols, we can assign numbers to them. ASCII assigns 0-127 to represent English letters, both upper and lower case, along with special characters." Then he casted a chart in the air that showed the mapping.

Partial ASCII Table

DecHexChr
3220SPACE
3321!
3422"
3523#
3624$
3725%
3826&
3927'
4028(
4129)
422A*
432B+
442C,
452D-
462E.
472F/
48300
49311
50322
51333
52344
53355
54366
55377
DecHexChr
56388
57399
583A:
593B;
603C<
613D=
623E>
633F?
6440@
6541A
6642B
6743C
6844D
6945E
7046F
7147G
7248H
7349I
744AJ
754BK
764CL
774DM
784EN
794FO
DecHexChr
8050P
8151Q
8252R
8353S
8454T
8555U
8656V
8757W
8858X
8959Y
905AZ
915B[
925C\
935D]
945E^
955F_
9660`
9761a
9862b
9963c
10064d
10165e
10266f
10367g
DecHexChr
10468h
10569i
1066Aj
1076Bk
1086Cl
1096Dm
1106En
1116Fo
11270p
11371q
11472r
11573s
11674t
11775u
11876v
11977w
12078x
12179y
1227Az
1237B{
1247C|
1257D}
1267E~

Literature analysis is not my area of expertise," he admitted, "and I would not want to give you a suboptimal experience. How about you two decipher a message using this ASCII together, then conclude our session?"

"Sure," Flamey and Starlax agreed eagerly.

HEX - human friendly ‘binary

Since 16 is a multiple of 2 (24), it is very easy to convert binary to hex and back.
Step 1: Just divide the binary number into groups of 4 digits, starting from the rightmost digit. You can add leading zeros if the number of digits isn't evenly divisible by 4.
Step 2: Convert each group of 4 binary digits to its corresponding hexadecimal digit using the following mapping:
0000=0
0001=1
0010=2
0011=3
0100=4
0101=5
0110=6
0111=7
1000=8
1001=9
1010=A
1011=B
1100=C
1101=D
1110=E
1111=F

For example: 00000000 becomes 00,11111111 becomes FF - much easier to read and write!

"Before we do that, I have to teach you another thing," Professor Evergreen projected a slide. "Binary numbers can be lengthy, so we'll use hexadecimal, or hex, which is base 16. It uses 0-9 for values zero to nine, and A-F for ten to fifteen."

“What? When people discuss binary, they’re actually referring to hex?” Flamey’s instinct was to declare this as ‘cheating,’ but he halted mid-thought. Urgency tugged at him; he yearned to unravel the puzzle and slip out of class a little earlier.

"Yes, it happens a lot", Prof Evergrenn nodded. He then presented the code:

54 68 65 72 65 20 61 72 65 20 31 30 20 74 79 70 65 73 20 6f 66 20 70 65 6f 70 6c 65 20 69 6e 20 74 68 65 20 77 6f 72 6c 64 3a 0a 20 20 74 68 6f 73 65 20 77 68 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 62 69 6e 61 72 79 2c 0a 20 20 61 6e 64 20 74 68 6f 73 65 20 77 68 6f 20 64 6f 6e 27 74 2e

“So 54 is ‘T’, 68 is ‘h’, 65 is ‘e’....” The two friends started to translate. "And 20 is a whitespace..."

And the message slowly revealed itself:

There are 10 types of people in the world: those who understand binary, and those who don't.

“Wait a sec…”, Flamey was puzzled, “The math does not seem right, where are the other 8 types?”

“Oh, Flamey….” Starlax giggled, “You are the one who doesn't understand binary”.

A beat of silence followed. Then, Flamey's metallic form vibrated with laughter. "This binary joke got me."