Skip to content

Commit

Permalink
Merge pull request #108 from rkozlov95/fix-links-protocols
Browse files Browse the repository at this point in the history
fix links(replace protocol)
  • Loading branch information
mokevnin committed Mar 30, 2020
2 parents 82eda23 + 5b70cbd commit b95338b
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion modules/60-deep-into-strings/10-unicode/description.en.yml
Expand Up @@ -7,7 +7,7 @@ theory: |
At the very beginning there was exactly one encoding - [ASCII](https://ru.wikipedia.org/wiki/ASCII), based on the English alphabet. In this encoding, one character corresponds to 7 bits, in total, 128 characters are encoded in it. 95 of them are printed, they include uppercase and lowercase letters of the alphabet, numbers and punctuation marks, as well as 33 non-typed characters or so-called control codes. Most of them are not relevant now, but some, for example, the translation of the string `\n` is still used. For example, the `i` in lowercase corresponds to the binary number `1101001`, which corresponds to the number `105` in decimal notation.
At first everything was fine, but with the proliferation of computers there was a need for other alphabets. Each country solved this problem by creating its own encoding, most of which are compatible with ASCII. That is, the first 128 numbers fully corresponded to ASCII, while the remaining 128 numbers were filled with the local alphabet. 128 + 128 = 256, and this is 2 to 8 degrees. These encodings were single-byte (one byte was required to store one character). Suddenly the gates of hell opened. An attempt to open a file in a different encoding in the editor resulted in the appearance of [kryakozyabr](http://cyclowiki.org/wiki/%D0%9A%D1%80%D0%B0%D0%BA%D0%BE%D0%B7%D1%8F%D0%B1%D1%80%D1%8B): __Øèðîêàÿ ýëåêòðèôèêàöèÿ þæíûõ ãóáåðíèé äàñò ìîùíûé òîë÷îê ïîäú¸ìó ñåëüñêîãî õîçÿéñòâà__. They arise because the same code in different encodings corresponds to completely different characters, with the exception of the first 128. Therefore, the text using English letters is always read, and the rest is as lucky. The situation was aggravated by the fact that even within the same alphabet, many different encodings were created, for example: Windows-1252, KOI8-R, CP 866, ISO 8859-5.
At first everything was fine, but with the proliferation of computers there was a need for other alphabets. Each country solved this problem by creating its own encoding, most of which are compatible with ASCII. That is, the first 128 numbers fully corresponded to ASCII, while the remaining 128 numbers were filled with the local alphabet. 128 + 128 = 256, and this is 2 to 8 degrees. These encodings were single-byte (one byte was required to store one character). Suddenly the gates of hell opened. An attempt to open a file in a different encoding in the editor resulted in the appearance of [kryakozyabr](https://cyclowiki.org/wiki/%D0%9A%D1%80%D0%B0%D0%BA%D0%BE%D0%B7%D1%8F%D0%B1%D1%80%D1%8B): __Øèðîêàÿ ýëåêòðèôèêàöèÿ þæíûõ ãóáåðíèé äàñò ìîùíûé òîë÷îê ïîäú¸ìó ñåëüñêîãî õîçÿéñòâà__. They arise because the same code in different encodings corresponds to completely different characters, with the exception of the first 128. Therefore, the text using English letters is always read, and the rest is as lucky. The situation was aggravated by the fact that even within the same alphabet, many different encodings were created, for example: Windows-1252, KOI8-R, CP 866, ISO 8859-5.
In programming languages at that time, all functions for working with strings were created on the basis that one character is one byte. At least, this property was common to all encodings.
Expand Down
2 changes: 1 addition & 1 deletion modules/60-deep-into-strings/10-unicode/description.ru.yml
Expand Up @@ -7,7 +7,7 @@ theory: |
В самом начале была ровно одна кодировка — [ASCII](https://ru.wikipedia.org/wiki/ASCII), основанная на английском алфавите. В этой кодировке одному символу соответствует 7 бит, всего в ней закодировано 128 символов. 95 из них печатные, они включают в себя буквы алфавита в верхнем и нижнем регистрах, цифры и знаки препинания, а также 33 непечатных символа или так называемых управляющих кодов. Большинство из них сейчас не актуальны, но некоторые, например, перевод строки `\n` по прежнему используются. Например, символ `i` в нижнем регистре соответствует двоичному числу `1101001`, что соответствует числу `105` в десятичной системе счисления.
Поначалу все было хорошо, но с распространением компьютеров возникла потребность в других алфавитах. Каждая страна решала данную проблему созданием собственной кодировки, большинство из которых совместимы с ASCII. То есть первые 128 номеров полностью соответствовали ASCII, а вот остальные 128 заполнялись локальным алфавитом. 128 + 128 = 256, а это 2 в 8 степени. Эти кодировки были однобайтовыми (для хранения одного символа требовался один байт). Внезапно открылись врата ада. Попытка открыть в редакторе файл в другой кодировке, приводила к появлению [крякозябр](http://cyclowiki.org/wiki/%D0%9A%D1%80%D0%B0%D0%BA%D0%BE%D0%B7%D1%8F%D0%B1%D1%80%D1%8B): __Øèðîêàÿ ýëåêòðèôèêàöèÿ þæíûõ ãóáåðíèé äàñò ìîùíûé òîë÷îê ïîäú¸ìó ñåëüñêîãî õîçÿéñòâà__. Возникают они потому, что один и тот же код в разных кодировках соответствует совершенно разным символам, за исключением первых 128. Поэтому текст, использующий английские буквы всегда читался, а в остальном как повезет. Ситуация усугублялась тем, что даже в рамках одного алфавита создавалось множество разных кодировок, например: Windows-1252, KOI8-R, CP 866, ISO 8859-5.
Поначалу все было хорошо, но с распространением компьютеров возникла потребность в других алфавитах. Каждая страна решала данную проблему созданием собственной кодировки, большинство из которых совместимы с ASCII. То есть первые 128 номеров полностью соответствовали ASCII, а вот остальные 128 заполнялись локальным алфавитом. 128 + 128 = 256, а это 2 в 8 степени. Эти кодировки были однобайтовыми (для хранения одного символа требовался один байт). Внезапно открылись врата ада. Попытка открыть в редакторе файл в другой кодировке, приводила к появлению [крякозябр](https://cyclowiki.org/wiki/%D0%9A%D1%80%D0%B0%D0%BA%D0%BE%D0%B7%D1%8F%D0%B1%D1%80%D1%8B): __Øèðîêàÿ ýëåêòðèôèêàöèÿ þæíûõ ãóáåðíèé äàñò ìîùíûé òîë÷îê ïîäú¸ìó ñåëüñêîãî õîçÿéñòâà__. Возникают они потому, что один и тот же код в разных кодировках соответствует совершенно разным символам, за исключением первых 128. Поэтому текст, использующий английские буквы всегда читался, а в остальном как повезет. Ситуация усугублялась тем, что даже в рамках одного алфавита создавалось множество разных кодировок, например: Windows-1252, KOI8-R, CP 866, ISO 8859-5.
В языках программирования на тот момент все функции для работы со строками создавались из расчета, что один символ — это один байт. По крайней мере, это свойство было общим для всех кодировок.
Expand Down

0 comments on commit b95338b

Please sign in to comment.