HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Python - особенности</a><ul><li><a>Преимущества</a></li>
1 <ul><li><a>Python - особенности</a><ul><li><a>Преимущества</a></li>
2 <li><a>Недостатки</a></li>
2 <li><a>Недостатки</a></li>
3 </ul></li>
3 </ul></li>
4 <li><a>Терминология для разработчика</a></li>
4 <li><a>Терминология для разработчика</a></li>
5 <li><a>Unicode - это…</a><ul><li><a>Кодировка</a></li>
5 <li><a>Unicode - это…</a><ul><li><a>Кодировка</a></li>
6 </ul></li>
6 </ul></li>
7 <li><a>ASCII</a></li>
7 <li><a>ASCII</a></li>
8 <li><a>UTF-8 - определение</a></li>
8 <li><a>UTF-8 - определение</a></li>
9 <li><a>Что нужно помнить перед кодировкой</a></li>
9 <li><a>Что нужно помнить перед кодировкой</a></li>
10 <li><a>Строки и методы</a><ul><li><a>Основные методы</a><ul><li><a>Encode</a><ul><li><a>Обработка ошибок</a></li>
10 <li><a>Строки и методы</a><ul><li><a>Основные методы</a><ul><li><a>Encode</a><ul><li><a>Обработка ошибок</a></li>
11 </ul></li>
11 </ul></li>
12 <li><a>Декодирование</a></li>
12 <li><a>Декодирование</a></li>
13 </ul></li>
13 </ul></li>
14 <li><a>Литералы в строках Python</a></li>
14 <li><a>Литералы в строках Python</a></li>
15 <li><a>Наглядные примеры</a></li>
15 <li><a>Наглядные примеры</a></li>
16 <li><a>Регулярные выражения</a></li>
16 <li><a>Регулярные выражения</a></li>
17 <li><a>Сворачивание регистра</a></li>
17 <li><a>Сворачивание регистра</a></li>
18 <li><a>Нормализация</a></li>
18 <li><a>Нормализация</a></li>
19 </ul></li>
19 </ul></li>
20 <li><a>Как лучше разобраться с кодированием</a></li>
20 <li><a>Как лучше разобраться с кодированием</a></li>
21 </ul><p>Python - это один из наиболее популярных в 21 веке языков. Он применяется в самых разных областях: от веб-программирования до создания сложных систем управления оборудованием. </p>
21 </ul><p>Python - это один из наиболее популярных в 21 веке языков. Он применяется в самых разных областях: от веб-программирования до создания сложных систем управления оборудованием. </p>
22 <p>В процессе разработки программного обеспечения приходится много работать со строками, а также символами, использовать кодировки. На первых порах данный процесс может показаться сложным. Представленная далее информация позволит разобраться с The Unicode в Питоне, научит переводить символы в UTF-8.</p>
22 <p>В процессе разработки программного обеспечения приходится много работать со строками, а также символами, использовать кодировки. На первых порах данный процесс может показаться сложным. Представленная далее информация позволит разобраться с The Unicode в Питоне, научит переводить символы в UTF-8.</p>
23 <p>The Python - высокоуровневый язык, обладающим общим назначением. Он имеет строгую динамическую типизацию, а также автоматическое управление памятью. Ориентирован на производительность программиста, повышение читаемости и качества исходного кода. Обеспечивает высокий уровень переносимости приложений.</p>
23 <p>The Python - высокоуровневый язык, обладающим общим назначением. Он имеет строгую динамическую типизацию, а также автоматическое управление памятью. Ориентирован на производительность программиста, повышение читаемости и качества исходного кода. Обеспечивает высокий уровень переносимости приложений.</p>
24 <p>The Python - это объектно-ориентированный язык. Перед изучением особенностей кодировки и работы со строками, необходимо понимать, с каким ЯП предстоит иметь дело. Питон интерпретируемый, имеет минималистичный синтаксис ядра.</p>
24 <p>The Python - это объектно-ориентированный язык. Перед изучением особенностей кодировки и работы со строками, необходимо понимать, с каким ЯП предстоит иметь дело. Питон интерпретируемый, имеет минималистичный синтаксис ядра.</p>
25 <p>Используется при:</p>
25 <p>Используется при:</p>
26 <ul><li>веб-разработке;</li>
26 <ul><li>веб-разработке;</li>
27 <li>создании бизнес-приложений;</li>
27 <li>создании бизнес-приложений;</li>
28 <li>мобильной разработке;</li>
28 <li>мобильной разработке;</li>
29 <li>программировании основных программ для операционных систем (на компьютерах).</li>
29 <li>программировании основных программ для операционных систем (на компьютерах).</li>
30 </ul><p>В игровой индустрии он выступает в качестве своеобразного дополнения. Небольшие проекты на нем запустить можно, крупные - проблематично из-за особенностей языка.</p>
30 </ul><p>В игровой индустрии он выступает в качестве своеобразного дополнения. Небольшие проекты на нем запустить можно, крупные - проблематично из-за особенностей языка.</p>
31 <h3>Преимущества</h3>
31 <h3>Преимущества</h3>
32 <p>Прежде чем писать код to the Python, необходимо рассмотреть его преимущества и недостатки. Эта информация пригодится при работе со строками и кодировкой.</p>
32 <p>Прежде чем писать код to the Python, необходимо рассмотреть его преимущества и недостатки. Эта информация пригодится при работе со строками и кодировкой.</p>
33 <p>К преимуществам относят:</p>
33 <p>К преимуществам относят:</p>
34 <ul><li>простой и понятный синтаксис;</li>
34 <ul><li>простой и понятный синтаксис;</li>
35 <li>высокую читаемость исходного программного кода;</li>
35 <li>высокую читаемость исходного программного кода;</li>
36 <li>большое количество встроенных инструментов;</li>
36 <li>большое количество встроенных инструментов;</li>
37 <li>хорошую поддержку масштабируемости;</li>
37 <li>хорошую поддержку масштабируемости;</li>
38 <li>дружелюбное сообщество - получить помощь по вопросам разработки удается очень быстро;</li>
38 <li>дружелюбное сообщество - получить помощь по вопросам разработки удается очень быстро;</li>
39 <li>внушительную коллекцию дополнений;</li>
39 <li>внушительную коллекцию дополнений;</li>
40 <li>интерпретируемость.</li>
40 <li>интерпретируемость.</li>
41 </ul><p>The Python с легкостью осваивается новичками в области разработки программного обеспечения. У него есть собственная система оповещения об ошибках, благодаря которой удается отлаживать the program. Найти место, в котором возник сбой, а также понять, почему поведение приложения некорректное, не составляет никакого труда.</p>
41 </ul><p>The Python с легкостью осваивается новичками в области разработки программного обеспечения. У него есть собственная система оповещения об ошибках, благодаря которой удается отлаживать the program. Найти место, в котором возник сбой, а также понять, почему поведение приложения некорректное, не составляет никакого труда.</p>
42 <h3>Недостатки</h3>
42 <h3>Недостатки</h3>
43 <p>The programming - процесс, успех которого во многом зависит от выбранного языка разработки. У Питона выделяются следующие недостатки:</p>
43 <p>The programming - процесс, успех которого во многом зависит от выбранного языка разработки. У Питона выделяются следующие недостатки:</p>
44 <ul><li>нерациональное распределение памяти устройства - потребляется больше положенного;</li>
44 <ul><li>нерациональное распределение памяти устройства - потребляется больше положенного;</li>
45 <li>медлительность - особо заметно на примере крупных проектов;</li>
45 <li>медлительность - особо заметно на примере крупных проектов;</li>
46 <li>строгую привязку к системным библиотекам.</li>
46 <li>строгую привязку к системным библиотекам.</li>
47 </ul><p>Несмотря на свои недостатки, the Python ложится в основу to серверной части программного обеспечения. Им пользуются крупных компании вроде Google и Pinterest.</p>
47 </ul><p>Несмотря на свои недостатки, the Python ложится в основу to серверной части программного обеспечения. Им пользуются крупных компании вроде Google и Pinterest.</p>
48 <h2>Терминология для разработчика</h2>
48 <h2>Терминология для разработчика</h2>
49 <p>Изучать любой ЯП нужно, зная the terms в программировании. Вот ключевые понятия, помогающие разобраться в программном коде быстрее:</p>
49 <p>Изучать любой ЯП нужно, зная the terms в программировании. Вот ключевые понятия, помогающие разобраться в программном коде быстрее:</p>
50 <ol><li>Алгоритм - последовательность команд или их набор, предназначенные для выполнения задачи/достижения определенной цели.</li>
50 <ol><li>Алгоритм - последовательность команд или их набор, предназначенные для выполнения задачи/достижения определенной цели.</li>
51 <li>API - интерфейс прикладного программирования. Представлен правилами, процедурами и протоколами для создания приложений. Способствует более простой коммуникации to иными программами и службами.</li>
51 <li>API - интерфейс прикладного программирования. Представлен правилами, процедурами и протоколами для создания приложений. Способствует более простой коммуникации to иными программами и службами.</li>
52 <li>Аргумент - значение, передаваемое to the функцию.</li>
52 <li>Аргумент - значение, передаваемое to the функцию.</li>
53 <li>Символ - простейшая единица информации в коде. Выражается буквенной записью или одним символьным значением.</li>
53 <li>Символ - простейшая единица информации в коде. Выражается буквенной записью или одним символьным значением.</li>
54 <li>Объект - связь переменных, а также констант и иных структур данных, которые могут быть выбраны и обработаны совместно.</li>
54 <li>Объект - связь переменных, а также констант и иных структур данных, которые могут быть выбраны и обработаны совместно.</li>
55 <li>Класс - связанные объекты с общими свойствами. Обеспечивают гибкость разработки.</li>
55 <li>Класс - связанные объекты с общими свойствами. Обеспечивают гибкость разработки.</li>
56 <li>Константа - значение, которое никогда не меняется. Оно сохраняется единым в процессе выполнения исходного кода.</li>
56 <li>Константа - значение, которое никогда не меняется. Оно сохраняется единым в процессе выполнения исходного кода.</li>
57 <li>Тип данных - классификация информации определенного типа.</li>
57 <li>Тип данных - классификация информации определенного типа.</li>
58 <li>Массив - список или группа схожих типов значений, сгруппированные заранее.</li>
58 <li>Массив - список или группа схожих типов значений, сгруппированные заранее.</li>
59 <li>Исключение - непредвиденное, аномальное поведение в процессе the working program.</li>
59 <li>Исключение - непредвиденное, аномальное поведение в процессе the working program.</li>
60 <li>Фреймворк - готовый блок кода, используемый for the helping programmer. Используется разработчиком для решения схожих задач.</li>
60 <li>Фреймворк - готовый блок кода, используемый for the helping programmer. Используется разработчиком для решения схожих задач.</li>
61 <li>Петля (цикл) - инструкции, которые повторяют одно и то же действие несколько раз. Происходит это до тех пор, пока условие не будет выполнено. Также возможно получение команды to stop.</li>
61 <li>Петля (цикл) - инструкции, которые повторяют одно и то же действие несколько раз. Происходит это до тех пор, пока условие не будет выполнено. Также возможно получение команды to stop.</li>
62 <li>Итерация - один проход через данный набор операций/инструкций.</li>
62 <li>Итерация - один проход через данный набор операций/инструкций.</li>
63 <li>Ключевое слово - слово или выражение, зарезервированное the language. Используются ключевые слова для обеспечения определенных функций, операций, алгоритмов.</li>
63 <li>Ключевое слово - слово или выражение, зарезервированное the language. Используются ключевые слова для обеспечения определенных функций, операций, алгоритмов.</li>
64 <li>Оператор - the term, указываемый to the object, который умеет управлять различными операндами.</li>
64 <li>Оператор - the term, указываемый to the object, который умеет управлять различными операндами.</li>
65 <li>Операнд - объект, которым удается манипулировать посредством специальных операторов.</li>
65 <li>Операнд - объект, которым удается манипулировать посредством специальных операторов.</li>
66 <li>Переменная - именованная область для хранения the information в исходном коде. Простейшее место в памяти устройства, названное именем.</li>
66 <li>Переменная - именованная область для хранения the information в исходном коде. Простейшее место в памяти устройства, названное именем.</li>
67 <li>Указатель - переменная, содержащая конкретный адрес in the memory. Своеобразное местоположение.</li>
67 <li>Указатель - переменная, содержащая конкретный адрес in the memory. Своеобразное местоположение.</li>
68 </ol><p>Все это - основная терминология, без запоминания и понимания которой изучение the Python и других ЯП станет проблематичным.</p>
68 </ol><p>Все это - основная терминология, без запоминания и понимания которой изучение the Python и других ЯП станет проблематичным.</p>
69 <h2>Unicode - это…</h2>
69 <h2>Unicode - это…</h2>
70 <p>Unicode - стандарт кодирования символов. Он включает в себя практически все мировые письменные языки. Сейчас особо распространен в интернете. Он был заложен в 1991 году.</p>
70 <p>Unicode - стандарт кодирования символов. Он включает в себя практически все мировые письменные языки. Сейчас особо распространен в интернете. Он был заложен в 1991 году.</p>
71 <p>Состоит их двух частей:</p>
71 <p>Состоит их двух частей:</p>
72 <ul><li>универсального символьного набора;</li>
72 <ul><li>универсального символьного набора;</li>
73 <li>семейства кодировок (UTF).</li>
73 <li>семейства кодировок (UTF).</li>
74 </ul><p>Универсальный символьный набор предоставляет to Unicode допустимые по стандарту символы, присваивает каждому из низ неотрицательное число. Соответствующие значения чаще всего записываются в шестнадцатеричной форме с префиксом U+. Семейство кодировок необходимо для определения способов преобразования кодов символов с целью последующей передачи в поток или to files.</p>
74 </ul><p>Универсальный символьный набор предоставляет to Unicode допустимые по стандарту символы, присваивает каждому из низ неотрицательное число. Соответствующие значения чаще всего записываются в шестнадцатеричной форме с префиксом U+. Семейство кодировок необходимо для определения способов преобразования кодов символов с целью последующей передачи в поток или to files.</p>
75 <p>Здесь стоит запомнить следующие особенности:</p>
75 <p>Здесь стоит запомнить следующие особенности:</p>
76 <ul><li>в рамках стандарта предусматриваются более 138 000 различных символов;</li>
76 <ul><li>в рамках стандарта предусматриваются более 138 000 различных символов;</li>
77 <li>каждый символ обладает названием и кодом (так называемым номером);</li>
77 <li>каждый символ обладает названием и кодом (так называемым номером);</li>
78 <li>все коды включают в себя латинские буквы и шестнадцатеричные цифры.</li>
78 <li>все коды включают в себя латинские буквы и шестнадцатеричные цифры.</li>
79 </ul><p>В Unicode символы представлены кодовыми точками - целыми числами в диапазоне от 0 до 0x10FFF. Символы на экране выражаются при помощи глифов. Пример - для прописной "А" глиф - это два диагональных штриха и один горизонтальный. Детали напрямую зависят от используемого шрифта.</p>
79 </ul><p>В Unicode символы представлены кодовыми точками - целыми числами в диапазоне от 0 до 0x10FFF. Символы на экране выражаются при помощи глифов. Пример - для прописной "А" глиф - это два диагональных штриха и один горизонтальный. Детали напрямую зависят от используемого шрифта.</p>
80 <p>При работе с Питоном беспокоиться за определение правильного глифа не нужно - графический пользовательский интерфейс отлично справляется с этой задачей.</p>
80 <p>При работе с Питоном беспокоиться за определение правильного глифа не нужно - графический пользовательский интерфейс отлично справляется с этой задачей.</p>
81 <h3>Кодировка</h3>
81 <h3>Кодировка</h3>
82 <p>Unicode строка - это последовательность символов (кодовых точек), представляющих собой цифры и буквы (числовые значения от 0 to 0x10FFF). Она представляет в памяти устройства в виде набора кодовых единиц, которые отображаются в байты. Unicode использует для хранения символа 8-бит.</p>
82 <p>Unicode строка - это последовательность символов (кодовых точек), представляющих собой цифры и буквы (числовые значения от 0 to 0x10FFF). Она представляет в памяти устройства в виде набора кодовых единиц, которые отображаются в байты. Unicode использует для хранения символа 8-бит.</p>
83 <p>Кодировка - это преобразование строки Unicode to bytes (в байты). В Python используется UTF-8. Далее предстоит разобраться с ее особенностями, а также с непосредственным переводом in codes.</p>
83 <p>Кодировка - это преобразование строки Unicode to bytes (в байты). В Python используется UTF-8. Далее предстоит разобраться с ее особенностями, а также с непосредственным переводом in codes.</p>
84 <h2>ASCII</h2>
84 <h2>ASCII</h2>
85 <p>ASCII (American standard code for information interchange) - это специальная таблица (кодировка, набор), включающая в себя распространенные печатные и непечатные символы. В ней происходит сопоставление записям их числовой интерпретации. ASCII появилась в 1963 году.</p>
85 <p>ASCII (American standard code for information interchange) - это специальная таблица (кодировка, набор), включающая в себя распространенные печатные и непечатные символы. В ней происходит сопоставление записям их числовой интерпретации. ASCII появилась в 1963 году.</p>
86 <p>Данная таблица необходима для определения кодов символов:</p>
86 <p>Данная таблица необходима для определения кодов символов:</p>
87 <ul><li>управляющих элементов;</li>
87 <ul><li>управляющих элементов;</li>
88 <li>десятичных цифр;</li>
88 <li>десятичных цифр;</li>
89 <li>латинского и национальных алфавитов;</li>
89 <li>латинского и национальных алфавитов;</li>
90 <li>знаков препинания.</li>
90 <li>знаков препинания.</li>
91 </ul><p>Знать о работе ASCII нужно всем, кто в Python 3 планирует заниматься кодировкой. Данный элемент позволяет грамотно отображать на дисплее те или иные записи.</p>
91 </ul><p>Знать о работе ASCII нужно всем, кто в Python 3 планирует заниматься кодировкой. Данный элемент позволяет грамотно отображать на дисплее те или иные записи.</p>
92 <h2>UTF-8 - определение</h2>
92 <h2>UTF-8 - определение</h2>
93 <p>UTF-8 - наиболее используемая кодировка при разработке программного обеспечения в the Python. Это - формат преобразования Unicode. В соответствующей записи "8" указывает на то, что при кодировании применяются только 8-битные значения. Связано это с наличием кодировок UTF-16, а также UTF-32, которые используются в программировании реже.</p>
93 <p>UTF-8 - наиболее используемая кодировка при разработке программного обеспечения в the Python. Это - формат преобразования Unicode. В соответствующей записи "8" указывает на то, что при кодировании применяются только 8-битные значения. Связано это с наличием кодировок UTF-16, а также UTF-32, которые используются в программировании реже.</p>
94 <p>При работе с UTF-8 необходимо запомнить следующие правила:</p>
94 <p>При работе с UTF-8 необходимо запомнить следующие правила:</p>
95 <ul><li>если используемая кодовая точка меньше 128, она будет представлена соответствующим байтовым значением;</li>
95 <ul><li>если используемая кодовая точка меньше 128, она будет представлена соответствующим байтовым значением;</li>
96 <li>если кодовая точка больше 128, происходит ее преобразование to последовательности двух, трех или четырех байтов, где каждый байт располагается между 128 и 255.</li>
96 <li>если кодовая точка больше 128, происходит ее преобразование to последовательности двух, трех или четырех байтов, где каждый байт располагается между 128 и 255.</li>
97 </ul><p> UTF-8 обладает следующими полезными свойствами:</p>
97 </ul><p> UTF-8 обладает следующими полезными свойствами:</p>
98 <ul><li>можно с ее помощью обработать любую кодовую точку Unicode;</li>
98 <ul><li>можно с ее помощью обработать любую кодовую точку Unicode;</li>
99 <li>строка Unicode после преобразования может быть обработана функциями C, а также отправляться через протоколы;</li>
99 <li>строка Unicode после преобразования может быть обработана функциями C, а также отправляться через протоколы;</li>
100 <li>строчка текста ASCII - это допустимый текст UTF-8;</li>
100 <li>строчка текста ASCII - это допустимый текст UTF-8;</li>
101 <li>компактность;</li>
101 <li>компактность;</li>
102 <li>при повреждении или утрате байтов поддерживается определение начала следующей кодовой точки с повторной синхронизацией.</li>
102 <li>при повреждении или утрате байтов поддерживается определение начала следующей кодовой точки с повторной синхронизацией.</li>
103 </ul><p>UTF-8 представляет собой байтовую кодировку. Она указывает на то, что символ будет представлен определенной последовательностью из одного или нескольких байтов. За счет такой концепции удается избежать проблем с порядков следования.</p>
103 </ul><p>UTF-8 представляет собой байтовую кодировку. Она указывает на то, что символ будет представлен определенной последовательностью из одного или нескольких байтов. За счет такой концепции удается избежать проблем с порядков следования.</p>
104 <h2>Что нужно помнить перед кодировкой</h2>
104 <h2>Что нужно помнить перед кодировкой</h2>
105 <p>Кодирование информации - процесс, требующий осторожности. Неграмотная реализация приводит или к ошибкам, или к некорректному отображению информации на экране, поэтому программисту необходимо запомнить следующее:</p>
105 <p>Кодирование информации - процесс, требующий осторожности. Неграмотная реализация приводит или к ошибкам, или к некорректному отображению информации на экране, поэтому программисту необходимо запомнить следующее:</p>
106 <ol><li>Если происходит кодирование to bytes при помощи UTF-8, то перекодировать соответствующую строку из байт потребуется через эту же кодировку. Некоторые кодировки совместимы, но обычно их совместное применение приводит к утрате данных.</li>
106 <ol><li>Если происходит кодирование to bytes при помощи UTF-8, то перекодировать соответствующую строку из байт потребуется через эту же кодировку. Некоторые кодировки совместимы, но обычно их совместное применение приводит к утрате данных.</li>
107 <li>При написании кодов рекомендуется использование Unicode. Это оптимальный вариант to UTF-8 из-за применения "по умолчанию" в основной массе функций и методов.</li>
107 <li>При написании кодов рекомендуется использование Unicode. Это оптимальный вариант to UTF-8 из-за применения "по умолчанию" в основной массе функций и методов.</li>
108 <li>Декодирование байтов строки лучше осуществлять после их получения, кодирование - непосредственно перед отправкой.</li>
108 <li>Декодирование байтов строки лучше осуществлять после их получения, кодирование - непосредственно перед отправкой.</li>
109 </ol><p>В программном коде рекомендуется работать с "обычными" типами данных - строками, числами и списками. Это связано с тем, что большая часть методов в Питоне не поддерживает использование байтовых строк, либо функционируют так, что предсказать вероятное поведение проблематично.</p>
109 </ol><p>В программном коде рекомендуется работать с "обычными" типами данных - строками, числами и списками. Это связано с тем, что большая часть методов в Питоне не поддерживает использование байтовых строк, либо функционируют так, что предсказать вероятное поведение проблематично.</p>
110 <h2>Строки и методы</h2>
110 <h2>Строки и методы</h2>
111 <p>В the Python 3 все символы, а также документы будут автоматически переводиться в UTF-8. Это позволяет свести вероятность некорректного отображения к нулю. Но в данной версии языка есть специальные строковые методы. Они не теряют своей актуальности. Связано это с тем, что программист сможет указывать разные необходимые кодировки to application.</p>
111 <p>В the Python 3 все символы, а также документы будут автоматически переводиться в UTF-8. Это позволяет свести вероятность некорректного отображения к нулю. Но в данной версии языка есть специальные строковые методы. Они не теряют своей актуальности. Связано это с тем, что программист сможет указывать разные необходимые кодировки to application.</p>
112 <p>Модуль string - это наиболее простой и удобный инструмент, разделяющий символы ASCII на группы с последующим преобразованием в строки-константы. Строки можно создавать при помощи метода decode из bytes.</p>
112 <p>Модуль string - это наиболее простой и удобный инструмент, разделяющий символы ASCII на группы с последующим преобразованием в строки-константы. Строки можно создавать при помощи метода decode из bytes.</p>
113 <p>Перед углубленным изучением имеющихся методов необходимо запомнить следующее:</p>
113 <p>Перед углубленным изучением имеющихся методов необходимо запомнить следующее:</p>
114 <ul><li>тип str в the Python 3.0 включает в себя символы Unicode;</li>
114 <ul><li>тип str в the Python 3.0 включает в себя символы Unicode;</li>
115 <li>можно включить символ Юникода to строковый литерал за счет кодировки по умолчанию в виде UTF-8;</li>
115 <li>можно включить символ Юникода to строковый литерал за счет кодировки по умолчанию в виде UTF-8;</li>
116 <li>допускается использование Unicode-символов в идентификаторах;</li>
116 <li>допускается использование Unicode-символов в идентификаторах;</li>
117 <li>если не получается ввести определенный символ или хочется сохранить его только в формате ASCII, допускается использование escape-последовательностей в строковых литералах.</li>
117 <li>если не получается ввести определенный символ или хочется сохранить его только в формате ASCII, допускается использование escape-последовательностей в строковых литералах.</li>
118 </ul><p>Кодирование задается в виде строк, содержащих имена кодировок. Односимвольные Unicode-строки могут быть созданы через встроенную функцию chr. Она принимает целые числа, а затем возвращает to Unicode string = 1, содержащую соответствующую кодовую точку. Обратная функция - это ord. Она принимает строку Юникода и возвращает значение кодовой точки.</p>
118 </ul><p>Кодирование задается в виде строк, содержащих имена кодировок. Односимвольные Unicode-строки могут быть созданы через встроенную функцию chr. Она принимает целые числа, а затем возвращает to Unicode string = 1, содержащую соответствующую кодовую точку. Обратная функция - это ord. Она принимает строку Юникода и возвращает значение кодовой точки.</p>
119 <h3>Основные методы</h3>
119 <h3>Основные методы</h3>
120 <p>В the Python множество методов, поддерживающих работу с кодированием информации. Таблица ниже поможет ознакомиться с наиболее популярными из них:</p>
120 <p>В the Python множество методов, поддерживающих работу с кодированием информации. Таблица ниже поможет ознакомиться с наиболее популярными из них:</p>
121 НазваниеХарактеристикаDecode и incodeМетоды, отвечающие за кодирование и декодирование строки в нужном формате.ASCIIФункция, которая приводит string to ASCII.Chr, ordВзаимообратные операции. Первая демонстрирует Unicode-символ соответствующий to введенному числовому значению. Вторая вернет числовой аналог конкретной символьной записи.Hex, bin, int, octФункции, позволяющие переводить числа to различные системы счисления.BytesРаботает так же, как и метод encode. Отличается расширенными возможностями.StrПеревод байтовых строк в обычные с использованием указанной ранее кодировки.UnicodedataМодуль, умеющий работать с базами данных всех Unicode-элементов.<p>Особое внимание уделим encode и decode, а также изучим несколько наглядных примеров каждого предложенного в таблице метода.</p>
121 НазваниеХарактеристикаDecode и incodeМетоды, отвечающие за кодирование и декодирование строки в нужном формате.ASCIIФункция, которая приводит string to ASCII.Chr, ordВзаимообратные операции. Первая демонстрирует Unicode-символ соответствующий to введенному числовому значению. Вторая вернет числовой аналог конкретной символьной записи.Hex, bin, int, octФункции, позволяющие переводить числа to различные системы счисления.BytesРаботает так же, как и метод encode. Отличается расширенными возможностями.StrПеревод байтовых строк в обычные с использованием указанной ранее кодировки.UnicodedataМодуль, умеющий работать с базами данных всех Unicode-элементов.<p>Особое внимание уделим encode и decode, а также изучим несколько наглядных примеров каждого предложенного в таблице метода.</p>
122 <h4><em>Encode</em></h4>
122 <h4><em>Encode</em></h4>
123 <p>Метод Encode() используется for the входных строк. Они имеются у каждого объекта. Позволяют закодировать информацию to заданный "формат".</p>
123 <p>Метод Encode() используется for the входных строк. Они имеются у каждого объекта. Позволяют закодировать информацию to заданный "формат".</p>
124 <p>Форма представления метода: input_string.encode (encoding, errors).</p>
124 <p>Форма представления метода: input_string.encode (encoding, errors).</p>
125 <p>Соответствующая запись будет обрабатывать input.string при помощи encoding. Здесь errors отвечает за поведение, согласно которому необходимо действовать при невыполнении кодирования. Encode() приводит to byte-последовательности.</p>
125 <p>Соответствующая запись будет обрабатывать input.string при помощи encoding. Здесь errors отвечает за поведение, согласно которому необходимо действовать при невыполнении кодирования. Encode() приводит to byte-последовательности.</p>
126 <p>Результатом станет объект &lt;class ‘bytes’&gt;.</p>
126 <p>Результатом станет объект &lt;class ‘bytes’&gt;.</p>
127 <p>Тип кодирования, которому необходимо следовать при работе с кодом, задается при помощи параметра encoding. </p>
127 <p>Тип кодирования, которому необходимо следовать при работе с кодом, задается при помощи параметра encoding. </p>
128 <p>Результат обработки приведет to следующий результат:</p>
128 <p>Результат обработки приведет to следующий результат:</p>
129 <p>Здесь входная строка была закодирована to UTF-8. Она имеет префикс b, указывающий на преобразование в поток байтов. Это сделано для удобства считывания.</p>
129 <p>Здесь входная строка была закодирована to UTF-8. Она имеет префикс b, указывающий на преобразование в поток байтов. Это сделано для удобства считывания.</p>
130 <h5>Обработка ошибок</h5>
130 <h5>Обработка ошибок</h5>
131 <p>Обработка ошибок при работе с кодированием информации в Python - важный аспект, которому новички не уделяют должного внимания. Отвечает за поведение приложения при неудачном преобразовании имеющихся данных. За этот момент в the Python отвечает параметр errors.</p>
131 <p>Обработка ошибок при работе с кодированием информации в Python - важный аспект, которому новички не уделяют должного внимания. Отвечает за поведение приложения при неудачном преобразовании имеющихся данных. За этот момент в the Python отвечает параметр errors.</p>
132 Тип ошибкиКак действоватьStrictПараметр по умолчанию. Он вызывает UnicodeDecodeError.IgnoreИгнорирование некодированного Юникода.ReplaceНеобходим для того, чтобы изменить все некодируемые символы. Они будут приведены к вопросительному знаку (?)BackslashreplaceОтвечает за вставку to escape-последовательность обратной собой черты. Она появляется вместо некодируемых элементов in the Unicode.<p>Выше - таблица с наиболее распространенными значениями error. А вот элементарный пример кода. Он поможет изучить принципы работы с encode. Здесь во входной строке не все символы кодируются:</p>
132 Тип ошибкиКак действоватьStrictПараметр по умолчанию. Он вызывает UnicodeDecodeError.IgnoreИгнорирование некодированного Юникода.ReplaceНеобходим для того, чтобы изменить все некодируемые символы. Они будут приведены к вопросительному знаку (?)BackslashreplaceОтвечает за вставку to escape-последовательность обратной собой черты. Она появляется вместо некодируемых элементов in the Unicode.<p>Выше - таблица с наиболее распространенными значениями error. А вот элементарный пример кода. Он поможет изучить принципы работы с encode. Здесь во входной строке не все символы кодируются:</p>
133 <p>После обработки заданного кода на экране отобразится результат, показанный выше. Здесь предстоит перевести string to SCII с игнорированием некодируемого компонента.</p>
133 <p>После обработки заданного кода на экране отобразится результат, показанный выше. Здесь предстоит перевести string to SCII с игнорированием некодируемого компонента.</p>
134 <p>При возникновении ошибки кодирования интерпретатор выведет на экран один из вариантов:</p>
134 <p>При возникновении ошибки кодирования интерпретатор выведет на экран один из вариантов:</p>
135 <ul><li>UnicodeError - общее исключение;</li>
135 <ul><li>UnicodeError - общее исключение;</li>
136 <li>UnicodeDecodeError - появляется тогда, когда в кодировке отсутствует обрабатываемая кодовая позиция;</li>
136 <li>UnicodeDecodeError - появляется тогда, когда в кодировке отсутствует обрабатываемая кодовая позиция;</li>
137 <li>UnicodeEncodeError - исключение, возникающее, когда обрабатываемый символ является незнакомым для заданной кодировки.</li>
137 <li>UnicodeEncodeError - исключение, возникающее, когда обрабатываемый символ является незнакомым для заданной кодировки.</li>
138 </ul><p>Все это поможет лучше усвоить работу encode и decode to the Python.</p>
138 </ul><p>Все это поможет лучше усвоить работу encode и decode to the Python.</p>
139 <h4><em>Декодирование</em></h4>
139 <h4><em>Декодирование</em></h4>
140 <p>Для декодирования байтового потока in the Python используется функция decode(). Она работает по аналогии с encode, но в обратном порядке.</p>
140 <p>Для декодирования байтового потока in the Python используется функция decode(). Она работает по аналогии с encode, но в обратном порядке.</p>
141 <p>Формат записи: .</p>
141 <p>Формат записи: .</p>
142 <p>Этот фрагмент кода наглядно показывает принцип функционирования decode() в Питоне:</p>
142 <p>Этот фрагмент кода наглядно показывает принцип функционирования decode() в Питоне:</p>
143 <p>При обработке соответствующего запроса произойдет вывод на дисплей следующей записи:</p>
143 <p>При обработке соответствующего запроса произойдет вывод на дисплей следующей записи:</p>
144 <p>Параметр decoding отвечает за определение типа кодирования, из которого производится декодирование байтовой последовательности. Параметр errors указывает на поведение при сбоях. Здесь используются те же методы, что и в encode.</p>
144 <p>Параметр decoding отвечает за определение типа кодирования, из которого производится декодирование байтовой последовательности. Параметр errors указывает на поведение при сбоях. Здесь используются те же методы, что и в encode.</p>
145 <h3>Литералы в строках Python</h3>
145 <h3>Литералы в строках Python</h3>
146 <p>Использование конструктора str() - не единственный вариант использования текстовых данных в программном коде. Иногда объект соответствующего типа вводится напрямую:</p>
146 <p>Использование конструктора str() - не единственный вариант использования текстовых данных в программном коде. Иногда объект соответствующего типа вводится напрямую:</p>
147 <p>В приложении, написанном на Питоне, при помощи Unicode можно напечатать символы, отсутствующие на клавиатуре. Они копируются и вставляются непосредственно в оболочку интерпретатора.</p>
147 <p>В приложении, написанном на Питоне, при помощи Unicode можно напечатать символы, отсутствующие на клавиатуре. Они копируются и вставляются непосредственно в оболочку интерпретатора.</p>
148 <p>Выше - наглядный пример того, как это выглядит в коде. Один литерал может быть записан при помощи Unicode в the Python несколькими способами: сочетаниями клавиш или прямым вводом необходимого элемента в нужном месте.</p>
148 <p>Выше - наглядный пример того, как это выглядит в коде. Один литерал может быть записан при помощи Unicode в the Python несколькими способами: сочетаниями клавиш или прямым вводом необходимого элемента в нужном месте.</p>
149 <p>Выше - таблица, показывающая все способы задания символьных записей через экранирующие последовательности.</p>
149 <p>Выше - таблица, показывающая все способы задания символьных записей через экранирующие последовательности.</p>
150 <h3>Наглядные примеры</h3>
150 <h3>Наглядные примеры</h3>
151 <p>Ранее было сказано о методах работы со строками в Python. Далее будут рассмотрены примеры для каждого случая.</p>
151 <p>Ранее было сказано о методах работы со строками в Python. Далее будут рассмотрены примеры для каждого случая.</p>
152 <p>Это - способ перевода заданного текстового значения str to ASCII. Экранирование русского слова связывается с отсутствием для него стандартного знакового набора в ASCII. У него нет 1-байтового представления.</p>
152 <p>Это - способ перевода заданного текстового значения str to ASCII. Экранирование русского слова связывается с отсутствием для него стандартного знакового набора в ASCII. У него нет 1-байтового представления.</p>
153 <p>А вот - метод bytes. Он будет преобразовывать в одноименный объект не только строки и числа, но и последовательности числовых знаний. В них каждый элемент - это тот или иной символ.</p>
153 <p>А вот - метод bytes. Он будет преобразовывать в одноименный объект не только строки и числа, но и последовательности числовых знаний. В них каждый элемент - это тот или иной символ.</p>
154 <p>Это - наглядный пример использования встроенного модуля Unicodedata. Он позволяет уточнить имя любого Юникод-символа, а затем отобразить его по имени.</p>
154 <p>Это - наглядный пример использования встроенного модуля Unicodedata. Он позволяет уточнить имя любого Юникод-символа, а затем отобразить его по имени.</p>
155 <h3>Регулярные выражения</h3>
155 <h3>Регулярные выражения</h3>
156 <p>Регулярные выражения, которые поддерживаются модулем re, могут быть приведены to bytes или strings. Часть последовательностей специальных символов (\d или \w) обладают разными значениями. Они меняются в зависимости от формы представления шаблона - байтами или строками. Пример - \d соответствует категории символов в диапазоне от 0 to 9 включительно, но в строках - любому символьному значению, находящемуся в пределах категории Nd.</p>
156 <p>Регулярные выражения, которые поддерживаются модулем re, могут быть приведены to bytes или strings. Часть последовательностей специальных символов (\d или \w) обладают разными значениями. Они меняются в зависимости от формы представления шаблона - байтами или строками. Пример - \d соответствует категории символов в диапазоне от 0 to 9 включительно, но в строках - любому символьному значению, находящемуся в пределах категории Nd.</p>
157 <p>Выше - пример работы с числом 57. Оно будет записано арабскими и тайскими цифрами. При запуске \d+ сопоставит тайские цифры и выведет их на печать. Если ранее был указан флаг re.ASCII для compile(), \d+ получит соответствие подстроке "57".</p>
157 <p>Выше - пример работы с числом 57. Оно будет записано арабскими и тайскими цифрами. При запуске \d+ сопоставит тайские цифры и выведет их на печать. Если ранее был указан флаг re.ASCII для compile(), \d+ получит соответствие подстроке "57".</p>
158 <p>С основами кодирования разобраться удалось.<a>Этот</a>видео-урок поможет новичкам быстрее разобраться в соответствующей теме. Теперь изучим несколько принципов работы со строками в Питоне, которые могут пригодиться разработчику.</p>
158 <p>С основами кодирования разобраться удалось.<a>Этот</a>видео-урок поможет новичкам быстрее разобраться в соответствующей теме. Теперь изучим несколько принципов работы со строками в Питоне, которые могут пригодиться разработчику.</p>
159 <h3>Сворачивание регистра</h3>
159 <h3>Сворачивание регистра</h3>
160 <p>Сворачивание регистра - способ унификации текста в любой форме представления к каноничной. Пример - приведение всей строки to нижний регистр. Над текстов будут проведены некоторые дополнительные преобразования. В Python 3.3 есть метод str.casefold, который помогает работать со сворачиванием регистра. Если обрабатываемый текст содержит исключительно символы из кодировки latin1, результат его применения окажется точно таким же, как и в случае с str.lower().</p>
160 <p>Сворачивание регистра - способ унификации текста в любой форме представления к каноничной. Пример - приведение всей строки to нижний регистр. Над текстов будут проведены некоторые дополнительные преобразования. В Python 3.3 есть метод str.casefold, который помогает работать со сворачиванием регистра. Если обрабатываемый текст содержит исключительно символы из кодировки latin1, результат его применения окажется точно таким же, как и в случае с str.lower().</p>
161 <p>Здесь метод не просто привес текст к нижнему регистру, но и использовал преобразование для специфического символа из немецкого алфавита.</p>
161 <p>Здесь метод не просто привес текст к нижнему регистру, но и использовал преобразование для специфического символа из немецкого алфавита.</p>
162 <h3>Нормализация</h3>
162 <h3>Нормализация</h3>
163 <p>Нормализация - приведение имеющегося текста к единому представлению на дисплее устройства.</p>
163 <p>Нормализация - приведение имеющегося текста к единому представлению на дисплее устройства.</p>
164 <p>Внешне данные записи выглядят идентично. Если попытаться перевести имена соответствующих символов подобно интерпретатору the Python, результат окажется нестандартным.</p>
164 <p>Внешне данные записи выглядят идентично. Если попытаться перевести имена соответствующих символов подобно интерпретатору the Python, результат окажется нестандартным.</p>
165 <p>В Питоне имеется встроенный модуль, содержащий сведения о символьных значениях Unicode, их имена, являются ли они цифрами и так далее. Методы по типу str.isdigit будут брать информацию именно из соответствующей "базы". Речь идет о Unicodedata, рассмотренном ранее.</p>
165 <p>В Питоне имеется встроенный модуль, содержащий сведения о символьных значениях Unicode, их имена, являются ли они цифрами и так далее. Методы по типу str.isdigit будут брать информацию именно из соответствующей "базы". Речь идет о Unicodedata, рассмотренном ранее.</p>
166 <p>При обработке данного фрагмента произойдет вывод следующего результата:</p>
166 <p>При обработке данного фрагмента произойдет вывод следующего результата:</p>
167 <p>Здесь интерпретатор рассматривает введенные значения в качестве двух разных, несмотря на их одинаковое графическое отображение to Unicode. Символьные значение подобной формы носят название канонических эквивалентов. Приложения их считывают одинаково, а интерпретаторы - нет.</p>
167 <p>Здесь интерпретатор рассматривает введенные значения в качестве двух разных, несмотря на их одинаковое графическое отображение to Unicode. Символьные значение подобной формы носят название канонических эквивалентов. Приложения их считывают одинаково, а интерпретаторы - нет.</p>
168 <p>Нормализация реализована через функцию unicodedata.normalize. Первый аргумент - это форма нормализации. Она определяет, эквивалентны ли две строки Unicode по отношению друг к другу. Всего существуют 4 формы представления:</p>
168 <p>Нормализация реализована через функцию unicodedata.normalize. Первый аргумент - это форма нормализации. Она определяет, эквивалентны ли две строки Unicode по отношению друг к другу. Всего существуют 4 формы представления:</p>
169 <p><a>Здесь</a>каждый вариант изучен более подробно. Алгоритмы нормализации пригодятся при поиске валидных документов или непосредственного индексирования текста.</p>
169 <p><a>Здесь</a>каждый вариант изучен более подробно. Алгоритмы нормализации пригодятся при поиске валидных документов или непосредственного индексирования текста.</p>
170 <h2>Как лучше разобраться с кодированием</h2>
170 <h2>Как лучше разобраться с кодированием</h2>
171 <p>Кодирование информации, а также работа с Unicode и UTF-8 в Python новичкам кажется сложной задачей, особенно если предстоит использование больших объемов данных. В Сети полно полезных сведений, литературы, уроков и упражнений по рассмотренному в статье направлению. Но разобраться в них бывает достаточно проблематично.</p>
171 <p>Кодирование информации, а также работа с Unicode и UTF-8 в Python новичкам кажется сложной задачей, особенно если предстоит использование больших объемов данных. В Сети полно полезных сведений, литературы, уроков и упражнений по рассмотренному в статье направлению. Но разобраться в них бывает достаточно проблематично.</p>
172 <p>Чтобы encode, decode и другие методы Питона не доставляли хлопот, рекомендуется закончить компьютерные онлайн курсы. Пример - от образовательного центра OTUS. Все занятия здесь проводятся в виде вебинаров, посмотреть их можно в любое время.</p>
172 <p>Чтобы encode, decode и другие методы Питона не доставляли хлопот, рекомендуется закончить компьютерные онлайн курсы. Пример - от образовательного центра OTUS. Все занятия здесь проводятся в виде вебинаров, посмотреть их можно в любое время.</p>
173 <p>Преимущества дистанционных курсов:</p>
173 <p>Преимущества дистанционных курсов:</p>
174 <ul><li>быстрое обучение основам выбранного языка и обучение кодированию информации с нуля;</li>
174 <ul><li>быстрое обучение основам выбранного языка и обучение кодированию информации с нуля;</li>
175 <li>сжатые сроки - до 12 месяцев;</li>
175 <li>сжатые сроки - до 12 месяцев;</li>
176 <li>постоянное кураторство опытными специалистами и интересные домашние задания;</li>
176 <li>постоянное кураторство опытными специалистами и интересные домашние задания;</li>
177 <li>совместимость с обыденной жизнью - такая форма обучения подходит даже при наличии полноценного трудового дня и семьи;</li>
177 <li>совместимость с обыденной жизнью - такая форма обучения подходит даже при наличии полноценного трудового дня и семьи;</li>
178 <li>помощь в формировании портфолио и постоянная практика.</li>
178 <li>помощь в формировании портфолио и постоянная практика.</li>
179 </ul><p>В конце обучения ученики получают не только полезные знания и навыки, но и их документальное подтверждение - электронный сертификат.</p>
179 </ul><p>В конце обучения ученики получают не только полезные знания и навыки, но и их документальное подтверждение - электронный сертификат.</p>
180 <a></a>
180 <a></a>