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>Результатом станет объект <class ‘bytes’>.</p>
126
<p>Результатом станет объект <class ‘bytes’>.</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>