Адрес (URL) может состоять только из ограниченного набора символов ASCII: латинских букв, цифр и нескольких знаков. Всё остальное - пробелы, кириллица, иероглифы, эмодзи, а также символы, которые в адресе имеют особый смысл, - записывается последовательностью %XX, где XX - шестнадцатеричное значение байта.
Например, пробел - %20, знак вопроса - %3F, а русская буква «я» в UTF-8 занимает два байта и превращается в %D1%8F. Способ описан в стандарте RFC 3986 и называется percent-encoding. Он нужен, чтобы любые данные можно было безопасно передать в адресной строке, не нарушив структуру адреса.