Пражский Программист
963 subscribers
126 photos
28 videos
5 files
222 links
практическая относительность всего. По всем вопросам - @danscript
Download Telegram
Как кодируется кириллица в URL

⚠️📣🔷💯🈹
Наверное все в курсе что при отправке GET запросов, их необходимо кодировать. Для этого в каждом языке есть своя функция, которая превратит строку например "Я программист" в нечто подобное "%D0%AF%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82". Давайте заглянем немного под капот, и посмотрим по какому принципу происходит это кодирование, тем более там нет ни чего сложного.

🈲🈹🉐㊙️🈴🈵
Начнем с того что есть всеми любимая универсальная кодировка UTF-8, в которой каждый символ может быть закодирован 2 байтами (ну на самом деле от 2 до 4 байт но в разбор того как работает UTF-8 не будем вдаваться, тем более что для абсолютного большинства символов этих 2 байт вполне хватает). То есть если эти 2 байта представить в виде шестнадцатеричного числа, то получим нечто подобное "D0AF" (четыре шестнадцатеричных числа).

🈶🈚️🈸🈺🈷️
Теперь непосредственно к URL. А тут все просто, каждый символ не входящий в кодировку ASCII в URL строке должен быть закодирован последовательностью из двух групп символов, каждая из которых начинается со знака процента "%" за которым идут два шестнадцатеричных числа. А эти два шестнадцатеричных числа как раз соответствуют коду символа в UTF-8.

То есть получаем следующее: 📙📚📔📒
-------------------------------------------——————-
| буква | ее код в UTF-8 | URL-encode |
-------------------------------------------——————-
| п | D0 BF | %D0%BF |
| р | D1 80 | %D1%80 |
| и | D0 B8 | %D0%B8 |
| в | D0 B2 | %D0%B2 |
| е | D0 B5 | %D0%B5 |
| т | D1 82 | %D1%82 |
-------------------------------------------——————

Такой способ позволяет посылать в GET запросе любые символы, но он так же подразумевает некоторое увеличение объема данных, когда из одного кириллического символа в итоге получается шесть закодированных. Обычно это не представляет проблемы, но нужно об этом помнить. На этом об URL кодировании все.

Это действительно круто, я даже никогда не задумывался как это делается. Спросил админа канала, он любезно согласился рассказать подписчикам Пражского
Ссылка на его канал, где он пишет такие же посты. Полезной взаимной работой надо делиться.
https://t.me/CoderLIfe_Channel
9 лучших книг для понимания работы тестера. Тестер - очень важный член команды, без него бы мы только и делали, что тыкали в баги и недоработки.
Предлагаю оценить АИ от студии Лебедева. Пока что Иронов - это модернизированный шаблонизатор, еще предстоит много учиться, а от оператора Иронова вообще не избавиться.


https://ironov.artlebedev.ru/ru/
Студия Лебедева заработала более 1.000.000₽ за первый день запуска Иронова.
" Главный секрет достижения значимых результатов — это начать что-то делать и на протяжении долгого времени не останавливаться.
digital design.pdf
6 MB
Недавно был опыт презентации профессии диджитал дизайнера. Для общего образования скидываю или может кому понадобится освежить знания
file.pdf
2 MB
Полезные программы для диджитал потребностей
Эх, мой первый проект. Мне было 18 и я пытался абсолютно без опыта работы в ИТ создать большую соц. сеть. Конечно, вышел факап и чувствовал себя неловко перед людьми, которые в меня тогда поверили и были готовы работать за идею. Далее было еще несколько малых и больших факапов, но сколько раз ты упал, столько раз и нужно встать, главное трезво оценивать свои способности и уметь анализировать свои ошибки:)