diff --git a/modules/25-strings/30-encoding/ru/README.md b/modules/25-strings/30-encoding/ru/README.md index 7f5c8dd3..e9ef0000 100644 --- a/modules/25-strings/30-encoding/ru/README.md +++ b/modules/25-strings/30-encoding/ru/README.md @@ -40,7 +40,27 @@ g o o d Этого хватало для первых программ, но не для всего мира. -Когда компьютеры начали использовать в других странах, возникла проблема. В ASCII нет кириллицы, иероглифов, арабского письма, ударений, валютных символов и т. д. Каждая страна или компания начала делать свою кодировку. Все эти кодировки были несовместимы между собой, что приводило к настоящему хаосу. +Когда компьютеры начали использовать в других странах, возникла проблема. В ASCII нет кириллицы, иероглифов, арабского письма, ударений, валютных символов и т. д. + +Каждая страна или компания начала делать свою кодировку на основе ASCII. + +- Windows придумала Windows-1251 для русского +- Apple создала Mac Roman +- Страны Восточной Европы, Азии и Ближнего Востока разработали свои варианты + +Все эти кодировки были несовместимы между собой. Код 226 в одной кодировке мог быть буквой é, в другой буквой и, в третьей вообще техническим символом. Это приводило к настоящему хаосу. + +## Как выглядели проблемы с кодировками + +Если вы видите в тексте вот это. + +```text +ÐÑивеÑ! +``` + +Это означает, что программа неправильно определила кодировку текста. Она получила последовательность байтов, но прочитала их не той таблицей. + +Это было нормой в 1990-х и 2000-х. Одна программа писала текст в Windows-1251, другая читала его как ISO-8859-1, и в результате получался мусор. ## Unicode и UTF-8. Конец бардака diff --git a/modules/45-logic/25-logical-operators/ru/README.md b/modules/45-logic/25-logical-operators/ru/README.md index 80adc4b3..e20ab232 100644 --- a/modules/45-logic/25-logical-operators/ru/README.md +++ b/modules/45-logic/25-logical-operators/ru/README.md @@ -22,7 +22,7 @@ isStrongPassword('zxcvbnmasdfghjkqwertyui'); // false Приоритет этого оператора ниже, чем приоритет операторов сравнения, поэтому выражение отрабатывает правильно без скобок. -Кроме `&&`, часто используется оператор `||` — «ИЛИ» (дизъюнкция). Он означает «или то, или другое, или оба». Операторы можно комбинировать в любом количестве и любой последовательности, но когда одновременно встречаются `&&` и `||`, то приоритет лучше задавать скобками. Ниже пример расширенной функции определения корректности пароля: +Кроме `&&`, часто используется оператор `||` — «ИЛИ» (дизъюнкция). Он означает «или то, или другое, или оба». Операторы можно комбинировать в любом количестве и в любой последовательности, но когда одновременно встречаются `&&` и `||`, то приоритет лучше задавать скобками. Ниже пример расширенной функции определения корректности пароля: ```javascript const hasSpecialChars = (str) => /* проверяет содержание специальных символов в строке */;