Компьютер в принципе не способен выделить значение какой-то группы символов на фоне остальных. Есть таблица символов, к каждому из них компьютер может обратиться по определённому адресу. Привязывая к тому или иному адресу тот или иной символ, человек меняет таблицу символов. И тогда смысл представленных данных ( на мониторе, например ) для человека может меняться. Видели когда-нибудь страницу не в той кодировке? Ну, вот. А компьютеру всё равно.
Технически пароль это строка символов. А точнее упорядоченный набор адресов. Как мы выяснили выше, компьютер обрабатывает любой символ одинаковым образом: по каждому адресу компьютер находит символ в таблице символов и затем отправляет туда, куда указал программист. И тут на сцене появляется человек.
Из изложенного выше создаётся впечатление, что пароль может состоять из любых символов. Будь они печатные или непечатные ( пробел, например ), латиница или кириллица, иероглифы или руны. Технически так оно и есть. Но вот антропологический фактор накладывает свои ограничения.
Дело в том, что символ пробела, например, используется программистами для логического обозначения границ слов. Этот приём существенно упрощает жизнь программистам. Но всему есть своя цена. Поэтому пробелы в паролях запрещены на многих сервисах. Это ограничение не является техническим или в угоду "правилам использования компьютерной техники". По правилам использования компьютерной техники нельзя кофе на клавиатуру проливать.
Существует ряд привычек программистов использовать те или иные символы по тому или иному назначению. Например, кавычки, прямой и обратный слеш, симовол клавиши ВВОД ( enter ), а также Control, Alt или Escape ( да, они тоже представляются символами ).
Ограничения в использовании символов, отличных от латиницы, тоже лежат в плоскости предпочтений программиста. Ранее мы говорили про таблицу символов. Так вот, в таблице символов нашего сервиса могут отсутствовать символы кирилицы или какие-то ещё. Тогда, если их использовать в пароле, компьютер не сможет проидентифицировать такие символы, а следовательно запомнить наш пароль.
В итоге область допустимых к использованию в пароле символов сводится к обработке строки. Программисты сужают эту область, чтобы достичь равновесия между надёжностью получаемых паролей, сложностью написания программы и размером бюджета на проект.