Существуют исторические причины, в основном, для простоты конвертации кодов ASCII:
Цифры (от 0x30 до 0x39) имеют двоичный префикс 110000:
0 is 110000
1 is 110001
2 is 110010
и т.д..
Таким образом, если вы уничтожите префикс (первые два '1), вы получите цифру в двоичном десятичном формате.
Заглавные буквы имеют двоичный префикс 1000000:
A is 1000001
B is 1000010
C is 1000011
и т.д..
То же самое, если вы удалите префикс (первый '1'), вы получите алфавитно-индексированные символы (A - 1, Z - 26 и т. Д.).
Строчные буквы имеют двоичный префикс 1100000:
a is 1100001
b is 1100010
c is 1100011
и т.д..
То же, что и выше. Поэтому, если вы добавите 32 (100000) к заглавной букве, у вас будет строчная версия.