В ASCII заглавные буквы представляют собой последовательные двоичные числа, начинающиеся с A = 1 0 0,0001, а строчные буквы - это последовательные двоичные числа, начинающиеся с = 1 1 0,0001. Другими словами, регистр букв можно изменить, щелкнув второй бит. Переключение второго бита эквивалентно битовому XOR с 010.0000. Это происходит в ASCII-представлении пробела.
Как уже отмечали другие, было определенно преднамеренным, что заглавные и строчные буквы различаются всего на один бит. Из этого следует, что XOR любой буквы с символом, представленным 1 в этом бите и 0 в любом другом бите, перевернет его регистр. Но маловероятно, что по этой причине символ пробела был присвоен 010.0000. Если бы для 010.0000 было бы более разумно использовать точку, или знак доллара, или цифру 0, или любой другой символ, все равно было бы так же легко перевернуть регистр буквы с помощью XOR, используя любой из этих символов. ,
(Обратите внимание, что я просто использую точки внутри двоичных чисел, чтобы сгруппировать биты, чтобы их было легче читать. Они не имеют никакого другого значения.)