0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Наиболее распространенные кодировки</a></li>
1
<ul><li><a>Наиболее распространенные кодировки</a></li>
2
<li><a>ASCII - базовая кодировка</a></li>
2
<li><a>ASCII - базовая кодировка</a></li>
3
<li><a>ISO</a></li>
3
<li><a>ISO</a></li>
4
<li><a>KOI8-R</a></li>
4
<li><a>KOI8-R</a></li>
5
<li><a>CP866</a></li>
5
<li><a>CP866</a></li>
6
<li><a>Windows-1251</a></li>
6
<li><a>Windows-1251</a></li>
7
<li><a>Unicode</a><ul><li><a>UTF-32</a></li>
7
<li><a>Unicode</a><ul><li><a>UTF-32</a></li>
8
<li><a>UTF-16</a></li>
8
<li><a>UTF-16</a></li>
9
<li><a>Новая версия Unicode</a><ul><li><a>Принцип кодирования</a></li>
9
<li><a>Новая версия Unicode</a><ul><li><a>Принцип кодирования</a></li>
10
<li><a>Алгоритм дешифрования</a></li>
10
<li><a>Алгоритм дешифрования</a></li>
11
<li><a>Установка в HTML и PHP</a></li>
11
<li><a>Установка в HTML и PHP</a></li>
12
<li><a>Работа с базами данных</a></li>
12
<li><a>Работа с базами данных</a></li>
13
</ul></li>
13
</ul></li>
14
</ul></li>
14
</ul></li>
15
</ul><p>Кодирование информации - это процедура преобразования данных. Она относится к основным информационным процессам. Преобразование данных может производиться как с изменением содержания, так и без него. В первом случае пользователю предстоит иметь дело с новой информацией, во втором - с ее переводом с одного языка на другой, но с сохранением имеющегося смысла. Эта операция и называется кодированием.</p>
15
</ul><p>Кодирование информации - это процедура преобразования данных. Она относится к основным информационным процессам. Преобразование данных может производиться как с изменением содержания, так и без него. В первом случае пользователю предстоит иметь дело с новой информацией, во втором - с ее переводом с одного языка на другой, но с сохранением имеющегося смысла. Эта операция и называется кодированием.</p>
16
<p>Данные могут быть закодированы различными способами. Это необходимо для обеспечения более удобного представления сведений, а также сокрытия содержания. Кодирование может быть реализовано относительно самых разных данных - от обычного текста до видео и звука.</p>
16
<p>Данные могут быть закодированы различными способами. Это необходимо для обеспечения более удобного представления сведений, а также сокрытия содержания. Кодирование может быть реализовано относительно самых разных данных - от обычного текста до видео и звука.</p>
17
<p>Далее предстоит изучить существующие текстовые кодировки. Особое внимание нужно уделить Unicode и UTF-8. Эти варианты шифрования цифровых материалов являются наиболее распространенными в современных компьютерах. Предложенная информация будет полезна как обычным ПК-пользователям, так и IT-специалистам.</p>
17
<p>Далее предстоит изучить существующие текстовые кодировки. Особое внимание нужно уделить Unicode и UTF-8. Эти варианты шифрования цифровых материалов являются наиболее распространенными в современных компьютерах. Предложенная информация будет полезна как обычным ПК-пользователям, так и IT-специалистам.</p>
18
<h2>Наиболее распространенные кодировки</h2>
18
<h2>Наиболее распространенные кодировки</h2>
19
<p>Кодировкой символов называется процесс присваивания номеров графическим символам. Особенно это касается элементов человеческих языков. Числовые значения, формирующие кодировку, носят название "кодовых точек". Совместно они представляют собой так называемое "кодовое пространство" или "карту символов". Эти компоненты необходимы для шифрования и дешифрования информации.</p>
19
<p>Кодировкой символов называется процесс присваивания номеров графическим символам. Особенно это касается элементов человеческих языков. Числовые значения, формирующие кодировку, носят название "кодовых точек". Совместно они представляют собой так называемое "кодовое пространство" или "карту символов". Эти компоненты необходимы для шифрования и дешифрования информации.</p>
20
<p>Буквы и алфавит кодируются при помощи определенных стандартов. Они меняются в зависимости от выбранного человеком языка, а также от операционной системы на устройстве. Наиболее распространенными из них являются:</p>
20
<p>Буквы и алфавит кодируются при помощи определенных стандартов. Они меняются в зависимости от выбранного человеком языка, а также от операционной системы на устройстве. Наиболее распространенными из них являются:</p>
21
<ul><li>ISO;</li>
21
<ul><li>ISO;</li>
22
<li>ASCII;</li>
22
<li>ASCII;</li>
23
<li>KOI-8;</li>
23
<li>KOI-8;</li>
24
<li>CP866;</li>
24
<li>CP866;</li>
25
<li>Windows 1251;</li>
25
<li>Windows 1251;</li>
26
<li>Unicode.</li>
26
<li>Unicode.</li>
27
</ul><p>Чаще всего пользователи и IT-специалисты имеют дело с ASCII и Unicode (он поддерживает несколько версий). Далее предложенные кодировки будут изучены более подробно. Особое внимание уделено Unicode, а также его разновидности UTF-8.</p>
27
</ul><p>Чаще всего пользователи и IT-специалисты имеют дело с ASCII и Unicode (он поддерживает несколько версий). Далее предложенные кодировки будут изучены более подробно. Особое внимание уделено Unicode, а также его разновидности UTF-8.</p>
28
<h2>ASCII - базовая кодировка</h2>
28
<h2>ASCII - базовая кодировка</h2>
29
<p>ASCII (или "Аски") - это самый первый стандарт кодировки символов. Он предусматривает в своем составе английский алфавит (латиницу). Состоит из 128 уникальных символов. Их можно разделить на:</p>
29
<p>ASCII (или "Аски") - это самый первый стандарт кодировки символов. Он предусматривает в своем составе английский алфавит (латиницу). Состоит из 128 уникальных символов. Их можно разделить на:</p>
30
<ul><li>печатные элементы;</li>
30
<ul><li>печатные элементы;</li>
31
<li>специальные (управляющие) символы.</li>
31
<li>специальные (управляющие) символы.</li>
32
</ul><p>ASCII - таблица, поддерживающая:</p>
32
</ul><p>ASCII - таблица, поддерживающая:</p>
33
<ul><li>арабские цифры;</li>
33
<ul><li>арабские цифры;</li>
34
<li>существующие знаки препинания;</li>
34
<li>существующие знаки препинания;</li>
35
<li>латинские буквы;</li>
35
<li>латинские буквы;</li>
36
<li>служебные символы.</li>
36
<li>служебные символы.</li>
37
</ul><p>Данный стандарт предусматривает шифрование символов 7 битами, но со временем он был расширен до 1 байта (или 8 бит). Этот прием позволил задействовать уже не 128, а 256 разнообразных символов. Их можно было закодировать при помощи одного байта.</p>
37
</ul><p>Данный стандарт предусматривает шифрование символов 7 битами, но со временем он был расширен до 1 байта (или 8 бит). Этот прием позволил задействовать уже не 128, а 256 разнообразных символов. Их можно было закодировать при помощи одного байта.</p>
38
<p>Существуют разнообразные расширенные ASCII-стандарты. Они начали включать в себя символы национальных языков, а не только ранее существующую латиницу.</p>
38
<p>Существуют разнообразные расширенные ASCII-стандарты. Они начали включать в себя символы национальных языков, а не только ранее существующую латиницу.</p>
39
<h2>ISO</h2>
39
<h2>ISO</h2>
40
<p>ISO - стандарт, представленный 8 битами. Младшая группа символов здесь представляет собой "базовый" ASCII, а старшая группа отводится под разнообразные языки. Соответствующая кодировка является расширенной версией Аски.</p>
40
<p>ISO - стандарт, представленный 8 битами. Младшая группа символов здесь представляет собой "базовый" ASCII, а старшая группа отводится под разнообразные языки. Соответствующая кодировка является расширенной версией Аски.</p>
41
<p>Ее примерами могут быть такие варианты как:</p>
41
<p>Ее примерами могут быть такие варианты как:</p>
42
<ul><li>8859-0 - новый европейский вариант;</li>
42
<ul><li>8859-0 - новый европейский вариант;</li>
43
<li>8859-5 - поддержка кириллицы;</li>
43
<li>8859-5 - поддержка кириллицы;</li>
44
<li>8859-1 - европейские языки и языки алфавита Латинской Америки;</li>
44
<li>8859-1 - европейские языки и языки алфавита Латинской Америки;</li>
45
<li>8859-2 - Восточная Европа.</li>
45
<li>8859-2 - Восточная Европа.</li>
46
</ul><p>ISO 8859-5 - это самая первая попытка внедрения в цифровые устройства специального стандарта шифрования кириллицы. Он до сих пор встречается в некоторых организациях - тех, что занимаются разработкой программного обеспечения с поддержкой обработки кириллических символов. Примерами могут быть решения OpenVMS и разнообразные базы данных.</p>
46
</ul><p>ISO 8859-5 - это самая первая попытка внедрения в цифровые устройства специального стандарта шифрования кириллицы. Он до сих пор встречается в некоторых организациях - тех, что занимаются разработкой программного обеспечения с поддержкой обработки кириллических символов. Примерами могут быть решения OpenVMS и разнообразные базы данных.</p>
47
<h2>KOI8-R</h2>
47
<h2>KOI8-R</h2>
48
<p>Еще один расширенный вариант представления ASCII. Она предназначается для работы с символами русского алфавита. Этот стандарт является очень старым. Он появился раньше некоторых остальных.</p>
48
<p>Еще один расширенный вариант представления ASCII. Она предназначается для работы с символами русского алфавита. Этот стандарт является очень старым. Он появился раньше некоторых остальных.</p>
49
<p>Кириллица здесь располагается в верхней части ASCII так, чтобы произношение алфавита соответствовало аналогам английского алфавита в нижней части таблицы. Это значить, что, если убрать в тексте на KOI8 восьмой бит каждого элемента, в итоге получится хорошо читаемая информация, но на английском языке.</p>
49
<p>Кириллица здесь располагается в верхней части ASCII так, чтобы произношение алфавита соответствовало аналогам английского алфавита в нижней части таблицы. Это значить, что, если убрать в тексте на KOI8 восьмой бит каждого элемента, в итоге получится хорошо читаемая информация, но на английском языке.</p>
50
<p>KOI8 поддерживает несколько диалектов:</p>
50
<p>KOI8 поддерживает несколько диалектов:</p>
51
<ul><li>KOI8-R - для русского языка;</li>
51
<ul><li>KOI8-R - для русского языка;</li>
52
<li>KOI8-U - для украинского алфавита.</li>
52
<li>KOI8-U - для украинского алфавита.</li>
53
</ul><p>KOI8-R также поддерживает болгарскую кириллицу. С ее помощью удалось сформировать первые кириллические символы для цифровых и компьютерных устройств. На данный момент в Болгарии пользуется спросом другой стандарт - Windows -1251.</p>
53
</ul><p>KOI8-R также поддерживает болгарскую кириллицу. С ее помощью удалось сформировать первые кириллические символы для цифровых и компьютерных устройств. На данный момент в Болгарии пользуется спросом другой стандарт - Windows -1251.</p>
54
<p>KIO8-R имеет огромный спрос в Интернете. Он может рассматриваться как полноценный стандарт для русской кириллицы в Сети.</p>
54
<p>KIO8-R имеет огромный спрос в Интернете. Он может рассматриваться как полноценный стандарт для русской кириллицы в Сети.</p>
55
<h2>CP866</h2>
55
<h2>CP866</h2>
56
<p>Альтернативная кодировка от IBM. Это вторая попытка использовать символы русского алфавита в компьютерной технике. CP866 - это одна из расширенных версий ASCII.</p>
56
<p>Альтернативная кодировка от IBM. Это вторая попытка использовать символы русского алфавита в компьютерной технике. CP866 - это одна из расширенных версий ASCII.</p>
57
<p>Здесь первая часть полностью совпадает с базовой версией Аски, а нижняя часть позволяла закодировать дополнительные 128 символов. В них были включены как русские буквы, так и псевдографика.</p>
57
<p>Здесь первая часть полностью совпадает с базовой версией Аски, а нижняя часть позволяла закодировать дополнительные 128 символов. В них были включены как русские буквы, так и псевдографика.</p>
58
<h2>Windows-1251</h2>
58
<h2>Windows-1251</h2>
59
<p>Windows -1251 - это еще одна расширенная версия ASCII. Данный стандарт был разработан корпорацией Microsoft. Появление соответствующей кодировки связано с ростом развития популярности графических операционных систем.</p>
59
<p>Windows -1251 - это еще одна расширенная версия ASCII. Данный стандарт был разработан корпорацией Microsoft. Появление соответствующей кодировки связано с ростом развития популярности графических операционных систем.</p>
60
<p>В Windows-1251 была убрана псевдографика. За счет этой особенности образовалась целая новая группа стандартов кодирования, которая выступала расширенной интерпретацией ASCII. Текстовые символы здесь могут быть зашифрованы при помощи всего 1 байта информации. Соответствующая группа была отнесена к ANSI-кодировкам. Они были разработаны американским институтом стандартизации. ANSI поддерживали не только кириллицу, но и русский алфавит. Windows-1251 - наглядный тому пример.</p>
60
<p>В Windows-1251 была убрана псевдографика. За счет этой особенности образовалась целая новая группа стандартов кодирования, которая выступала расширенной интерпретацией ASCII. Текстовые символы здесь могут быть зашифрованы при помощи всего 1 байта информации. Соответствующая группа была отнесена к ANSI-кодировкам. Они были разработаны американским институтом стандартизации. ANSI поддерживали не только кириллицу, но и русский алфавит. Windows-1251 - наглядный тому пример.</p>
61
<p>Вместо псевдографики здесь было выделено пространство для:</p>
61
<p>Вместо псевдографики здесь было выделено пространство для:</p>
62
<ul><li>славянских языков;</li>
62
<ul><li>славянских языков;</li>
63
<li>знаков русской типографии.</li>
63
<li>знаков русской типографии.</li>
64
</ul><p>В Windows-1251 отсутствует символ ударения. Совместимость с CP866 этот вариант не поддерживает.</p>
64
</ul><p>В Windows-1251 отсутствует символ ударения. Совместимость с CP866 этот вариант не поддерживает.</p>
65
<p>Сейчас Windows-1251 активно используется в операционных системах Windows. Он чаще всего встречается в старых версиях ОС - начала 90-х годов. Кириллица в Windows-1251 отображается в алфавитном порядке.</p>
65
<p>Сейчас Windows-1251 активно используется в операционных системах Windows. Он чаще всего встречается в старых версиях ОС - начала 90-х годов. Кириллица в Windows-1251 отображается в алфавитном порядке.</p>
66
<h2>Unicode</h2>
66
<h2>Unicode</h2>
67
<p>Unicode - это универсальный способ шифрования информации. Он появился из-за невозможности уместить в одном байте все языковые группы южно-восточной Азии. Unicode был разработан в 1991 году некоммерческой организацией "Консорциум Юникода".</p>
67
<p>Unicode - это универсальный способ шифрования информации. Он появился из-за невозможности уместить в одном байте все языковые группы южно-восточной Азии. Unicode был разработан в 1991 году некоммерческой организацией "Консорциум Юникода".</p>
68
<p>Этот подход активно используется в Интернете. Коды в нем разделяются на несколько областей. Одна из них включает в себя символы ASCII. Далее размещаются символы других систем письменности, технические символы и разнообразные пунктуационные знаки. Некоторая часть кодов зарезервирована для использования в будущем.</p>
68
<p>Этот подход активно используется в Интернете. Коды в нем разделяются на несколько областей. Одна из них включает в себя символы ASCII. Далее размещаются символы других систем письменности, технические символы и разнообразные пунктуационные знаки. Некоторая часть кодов зарезервирована для использования в будущем.</p>
69
<p>Unicode имеет несколько версий:</p>
69
<p>Unicode имеет несколько версий:</p>
70
<ul><li>UTF-32;</li>
70
<ul><li>UTF-32;</li>
71
<li>UTF-16;</li>
71
<li>UTF-16;</li>
72
<li>UTF-8.</li>
72
<li>UTF-8.</li>
73
</ul><p>Юникод можно рассматривать как частичную реализацию ISO. На данный момент он предусматривает около 40 000 распределенных под символы позиций из 65 535 доступных (по 2 байта на каждый элемент или букву). В 1998 году Unicode получил возможность шифрования и дешифрования знака "евро".</p>
73
</ul><p>Юникод можно рассматривать как частичную реализацию ISO. На данный момент он предусматривает около 40 000 распределенных под символы позиций из 65 535 доступных (по 2 байта на каждый элемент или букву). В 1998 году Unicode получил возможность шифрования и дешифрования знака "евро".</p>
74
<p>Далее предстоит рассмотреть версии Unicode более подробно. Особое внимание будет уделено UTF8 - как самому распространенному варианту Юникода.</p>
74
<p>Далее предстоит рассмотреть версии Unicode более подробно. Особое внимание будет уделено UTF8 - как самому распространенному варианту Юникода.</p>
75
<h3>UTF-32</h3>
75
<h3>UTF-32</h3>
76
<p>Первая реализация Unicode. Цифра в ее названии указывает на биты, используемые для шифрования одного символа или знака. 32 бита - это 4 байта информации. Это значит, что для шифрования одной буквы в UTF-32 требуется 4 байта.</p>
76
<p>Первая реализация Unicode. Цифра в ее названии указывает на биты, используемые для шифрования одного символа или знака. 32 бита - это 4 байта информации. Это значит, что для шифрования одной буквы в UTF-32 требуется 4 байта.</p>
77
<p>Данный подход привел к тому, что при переводе документа из ASCII в Unicode его вес значительно увеличивался. А именно - в 4 раза. Подобные изменения стали неоправданными - основная масса европейских стран не нуждалось в огромном количестве символов. UTF-32 со временем стал устаревать. Ему на замену пришел новый вариант Юникода.</p>
77
<p>Данный подход привел к тому, что при переводе документа из ASCII в Unicode его вес значительно увеличивался. А именно - в 4 раза. Подобные изменения стали неоправданными - основная масса европейских стран не нуждалось в огромном количестве символов. UTF-32 со временем стал устаревать. Ему на замену пришел новый вариант Юникода.</p>
78
<h3>UTF-16</h3>
78
<h3>UTF-16</h3>
79
<p>UTF-16 - более совершенная и удобная разработка Unicode. По умолчанию он используется для всех символов, используемых в компьютерной технике. Здесь для шифрования одного символа необходимо использовать 2 байта или 16 бит.</p>
79
<p>UTF-16 - более совершенная и удобная разработка Unicode. По умолчанию он используется для всех символов, используемых в компьютерной технике. Здесь для шифрования одного символа необходимо использовать 2 байта или 16 бит.</p>
80
<p>Используя UTF-16, получится закодировать 65 536 символов. Они выступают базовым пространством всего Юникода. UTF-16 уменьшил размер исходного документа при преобразовании с ASCII в 2 раза, а не в 4.</p>
80
<p>Используя UTF-16, получится закодировать 65 536 символов. Они выступают базовым пространством всего Юникода. UTF-16 уменьшил размер исходного документа при преобразовании с ASCII в 2 раза, а не в 4.</p>
81
<p>UTF-16 все равно не принес особого удовлетворения. Особенно это касалось тех, кто говорит и пишет преимущественно на английском языке. Получаемые документы с использованием этого стандарта все равно были достаточно большими.</p>
81
<p>UTF-16 все равно не принес особого удовлетворения. Особенно это касалось тех, кто говорит и пишет преимущественно на английском языке. Получаемые документы с использованием этого стандарта все равно были достаточно большими.</p>
82
<p>UTF-16 можно увидеть в любой Windows. Для просмотра соответствующей таблицы необходимо:</p>
82
<p>UTF-16 можно увидеть в любой Windows. Для просмотра соответствующей таблицы необходимо:</p>
83
<ol><li>Перейти в "Пуск".</li>
83
<ol><li>Перейти в "Пуск".</li>
84
<li>Посетить службу "Служебные". Она находится в разделе "Программы"-"Стандартные".</li>
84
<li>Посетить службу "Служебные". Она находится в разделе "Программы"-"Стандартные".</li>
85
<li>Выбрать в открывшемся меню "Таблица…".</li>
85
<li>Выбрать в открывшемся меню "Таблица…".</li>
86
<li>В дополнительных параметрах открывшегося окна установить Юникод.</li>
86
<li>В дополнительных параметрах открывшегося окна установить Юникод.</li>
87
</ol><p>Кодировка UTF 16 в конечном итоге смогла поддерживать около 1 миллиона символов, доступных для шифрования. Но достаточно большой объем исходных файлов, в которых использовался рассматриваемый стандарт, привел к образованию новой версии Юникода.</p>
87
</ol><p>Кодировка UTF 16 в конечном итоге смогла поддерживать около 1 миллиона символов, доступных для шифрования. Но достаточно большой объем исходных файлов, в которых использовался рассматриваемый стандарт, привел к образованию новой версии Юникода.</p>
88
<h3>Новая версия Unicode</h3>
88
<h3>Новая версия Unicode</h3>
89
<p>UTF-8 - самая последняя версия Юникода. Она будет рассмотрена более подробно далее. UTF-8 - 8-битный формат преобразования Unicode. Он является одним из общепринятых и стандартизированных текстовых кодировок. С помощью него удается хранить символы в Unicode.</p>
89
<p>UTF-8 - самая последняя версия Юникода. Она будет рассмотрена более подробно далее. UTF-8 - 8-битный формат преобразования Unicode. Он является одним из общепринятых и стандартизированных текстовых кодировок. С помощью него удается хранить символы в Unicode.</p>
90
<p>Соответствующая кодировка стала широко использоваться. Она встречается о веб-пространствах и операционных системах. UTF-8 появился 2 сентября 1992 года. Он также называется Юникодом с переменной длиной.</p>
90
<p>Соответствующая кодировка стала широко использоваться. Она встречается о веб-пространствах и операционных системах. UTF-8 появился 2 сентября 1992 года. Он также называется Юникодом с переменной длиной.</p>
91
<p>Несмотря на цифру 8 в названии стандарта, она все равно обладает разной длиной. Каждый символ может быть закодирован последовательностью от 1 до 6 байт включительно. Чаще всего стандарт требует до 4 байт для шифрования одного элемента текста.</p>
91
<p>Несмотря на цифру 8 в названии стандарта, она все равно обладает разной длиной. Каждый символ может быть закодирован последовательностью от 1 до 6 байт включительно. Чаще всего стандарт требует до 4 байт для шифрования одного элемента текста.</p>
92
<p>Кириллица в этой версии Юникода кодируется при помощи 2 байт, а грузинские и символы некоторых других языков мира - 3 байтами и более.</p>
92
<p>Кириллица в этой версии Юникода кодируется при помощи 2 байт, а грузинские и символы некоторых других языков мира - 3 байтами и более.</p>
93
<p>UTF-8 обладает наилучшей совместимостью со старыми операционными системами, в которых использовались символы по 1 байту. Рассматриваемый стандарт выделяется тем, что он поддерживает базовую часть ASCII в своем составе. Это позволяет приложениям, не понимающим Юникод, работать с UTF-8.</p>
93
<p>UTF-8 обладает наилучшей совместимостью со старыми операционными системами, в которых использовались символы по 1 байту. Рассматриваемый стандарт выделяется тем, что он поддерживает базовую часть ASCII в своем составе. Это позволяет приложениям, не понимающим Юникод, работать с UTF-8.</p>
94
<p>Данный метод шифрования поддерживает не только совместимость с Аски, но и любые 7-битные символы. Они будут отображаться "как есть". Остальные выдают пользователям мусор (шум). Из-за этого, если в дешифрованном документе много пространства занимают знаки препинания, пробел и латинские буквы, новый стандарт выигрывает по объему по сравнению с UTF-16.</p>
94
<p>Данный метод шифрования поддерживает не только совместимость с Аски, но и любые 7-битные символы. Они будут отображаться "как есть". Остальные выдают пользователям мусор (шум). Из-за этого, если в дешифрованном документе много пространства занимают знаки препинания, пробел и латинские буквы, новый стандарт выигрывает по объему по сравнению с UTF-16.</p>
95
<h4><em>Принцип кодирования</em></h4>
95
<h4><em>Принцип кодирования</em></h4>
96
<p>Зашифровать информацию при помощи UTF-8 получится в несколько шагов. Этот принцип стандартизирован в RFC 3629. Он включает в себя следующие шаги:</p>
96
<p>Зашифровать информацию при помощи UTF-8 получится в несколько шагов. Этот принцип стандартизирован в RFC 3629. Он включает в себя следующие шаги:</p>
97
<ol><li>Определить количество байтов (так называемых октетов), необходимых для шифрования того или иного символа. Номер элемента нужно взять из стандарта Unicode.</li>
97
<ol><li>Определить количество байтов (так называемых октетов), необходимых для шифрования того или иного символа. Номер элемента нужно взять из стандарта Unicode.</li>
98
<li>Установить старшие биты первого октета так, чтобы они соответствовали количеству необходимых октетов, определенных на предыдущем шаге. Это приводит к тому, что нужно использовать записи: 0xxxxxxx - для шифрования с одним октетом, 110xxxxx - для двух октетов, 1110xxxx - при трех байтах и 11110xxx - если нужно использовать 4 октета.</li>
98
<li>Установить старшие биты первого октета так, чтобы они соответствовали количеству необходимых октетов, определенных на предыдущем шаге. Это приводит к тому, что нужно использовать записи: 0xxxxxxx - для шифрования с одним октетом, 110xxxxx - для двух октетов, 1110xxxx - при трех байтах и 11110xxx - если нужно использовать 4 октета.</li>
99
<li>Если для шифрования необходимо выделить более одного октета, то в октетах 2-4 два старших бита всегда устанавливаются равными 10xxxxxx. За счет этого удается легко отличить первый октет в потоке. Его старшие биты никогда не будут равны 10xxxxxxx.</li>
99
<li>Если для шифрования необходимо выделить более одного октета, то в октетах 2-4 два старших бита всегда устанавливаются равными 10xxxxxx. За счет этого удается легко отличить первый октет в потоке. Его старшие биты никогда не будут равны 10xxxxxxx.</li>
100
<li>Установить значащие биты октетов в соответствии с номером символа Юникода, представленном в двоичном коде. Заполнение начинается с младших битов номера символа. Они подставляются в младшие биты последнего октета. Далее операция продолжается справа налево до первого октета. Свободные биты первого октета требуется заполнить нулями.</li>
100
<li>Установить значащие биты октетов в соответствии с номером символа Юникода, представленном в двоичном коде. Заполнение начинается с младших битов номера символа. Они подставляются в младшие биты последнего октета. Далее операция продолжается справа налево до первого октета. Свободные биты первого октета требуется заполнить нулями.</li>
101
</ol><p>Выше можно увидеть таблицу, которая поможет выполнить первый шаг в заданном алгоритме при определении октетов.</p>
101
</ol><p>Выше можно увидеть таблицу, которая поможет выполнить первый шаг в заданном алгоритме при определении октетов.</p>
102
<h4><em>Алгоритм дешифрования</em></h4>
102
<h4><em>Алгоритм дешифрования</em></h4>
103
<p>Основы 8-битного кодирования были представлены выше. Текст, зашифрованный в UTF8, необходимо расшифровывать для дальнейшего использования. Организации и частные лица часто пользуются для этого специальными программами-декодировщиками. Они могут быть созданы при помощи самых разных языков программирования.</p>
103
<p>Основы 8-битного кодирования были представлены выше. Текст, зашифрованный в UTF8, необходимо расшифровывать для дальнейшего использования. Организации и частные лица часто пользуются для этого специальными программами-декодировщиками. Они могут быть созданы при помощи самых разных языков программирования.</p>
104
<p>Примером может послужить сервис "Декодер онлайн". Пользоваться им рекомендуется так:</p>
104
<p>Примером может послужить сервис "Декодер онлайн". Пользоваться им рекомендуется так:</p>
105
<ol><li>Выставить в левой части в выпадающем списке под "Декодер онлайн" значение UTF-8.</li>
105
<ol><li>Выставить в левой части в выпадающем списке под "Декодер онлайн" значение UTF-8.</li>
106
<li>Указать форму представления преобразованного исходного текста.</li>
106
<li>Указать форму представления преобразованного исходного текста.</li>
107
<li>Вставить в пустую область (в поле слева) данные, которые требуется расшифровать.</li>
107
<li>Вставить в пустую область (в поле слева) данные, которые требуется расшифровать.</li>
108
<li>Нажать на кнопку "Расшифровать".</li>
108
<li>Нажать на кнопку "Расшифровать".</li>
109
</ol><p>Результат преобразования появится в окне справа. Самостоятельно дешифрование проводить не рекомендуется - это долгий и не всегда простой процесс.</p>
109
</ol><p>Результат преобразования появится в окне справа. Самостоятельно дешифрование проводить не рекомендуется - это долгий и не всегда простой процесс.</p>
110
<h4><em>Установка в HTML и PHP</em></h4>
110
<h4><em>Установка в HTML и PHP</em></h4>
111
<p>UTF-8 - версия Юникода с переменной длиной. Она предусматривает шифрование разным количеством байт. Данный вариант широко используется в Интернете. Примером могут послужить веб-страницы.</p>
111
<p>UTF-8 - версия Юникода с переменной длиной. Она предусматривает шифрование разным количеством байт. Данный вариант широко используется в Интернете. Примером могут послужить веб-страницы.</p>
112
<p>Чтобы установить UTF8 для HTML-документа, необходимо задействовать тег <meta>. Он помогает объединять в себе значения метатегов в виде атрибутов.</p>
112
<p>Чтобы установить UTF8 для HTML-документа, необходимо задействовать тег <meta>. Он помогает объединять в себе значения метатегов в виде атрибутов.</p>
113
<p>Метатеги нужны при передаче и хранении информации, предназначенной для браузеров, а также различных поисковых систем. У <meta> есть атрибут charset. Он поможет установить кодировку веб-сайта:</p>
113
<p>Метатеги нужны при передаче и хранении информации, предназначенной для браузеров, а также различных поисковых систем. У <meta> есть атрибут charset. Он поможет установить кодировку веб-сайта:</p>
114
<p>UTF-8 и другие форматы кодировок можно задавать отдельным элементам на сайте. Примером служит ссылка. Для реализации задачи необходимо также использовать атрибут charset. Его значение - это желаемый способ кодирования:</p>
114
<p>UTF-8 и другие форматы кодировок можно задавать отдельным элементам на сайте. Примером служит ссылка. Для реализации задачи необходимо также использовать атрибут charset. Его значение - это желаемый способ кодирования:</p>
115
<p>Многие страницы в Интернете являются динамически созданными. Для их формирования используются серверные языки разработки. Наиболее распространенным вариантом является PHP. У него есть функция header(), используемая для установки и модификации значений заголовка. Она предусматривает следующий синтаксис:</p>
115
<p>Многие страницы в Интернете являются динамически созданными. Для их формирования используются серверные языки разработки. Наиболее распространенным вариантом является PHP. У него есть функция header(), используемая для установки и модификации значений заголовка. Она предусматривает следующий синтаксис:</p>
116
<p>Для корректного задания в PHP кодировки UTF-8 необходимо использовать вызов header() в исходном коде выше всех остальных HTML-тегов/</p>
116
<p>Для корректного задания в PHP кодировки UTF-8 необходимо использовать вызов header() в исходном коде выше всех остальных HTML-тегов/</p>
117
<h4><em>Работа с базами данных</em></h4>
117
<h4><em>Работа с базами данных</em></h4>
118
<p>Рассматриваемый вид Юникода, использующий от 1 до 6 байт для шифрования, часто встречается при работе с базами данных. Далее будет приведен пример выставления UTF-8 в MySQL. Эта СУБД выступает наиболее распространенной среди всех существующих. Она часто используется в сайтостроении.</p>
118
<p>Рассматриваемый вид Юникода, использующий от 1 до 6 байт для шифрования, часто встречается при работе с базами данных. Далее будет приведен пример выставления UTF-8 в MySQL. Эта СУБД выступает наиболее распространенной среди всех существующих. Она часто используется в сайтостроении.</p>
119
<p>Для установки UTF-8 с переменным количеством байт необходимо использовать документ my.ini. Его можно обнаружить по пути:/usr/local/mysql-5.5. В соответствующем документе необходимо поменять значение сразу нескольких полей на UTF-8:</p>
119
<p>Для установки UTF-8 с переменным количеством байт необходимо использовать документ my.ini. Его можно обнаружить по пути:/usr/local/mysql-5.5. В соответствующем документе необходимо поменять значение сразу нескольких полей на UTF-8:</p>
120
<ul><li>default-character-set;</li>
120
<ul><li>default-character-set;</li>
121
<li>character-set-server;</li>
121
<li>character-set-server;</li>
122
<li>init-connect = "set names".</li>
122
<li>init-connect = "set names".</li>
123
</ul><p>После этого предстоит добавить строчку skip-character-set-client-handshake. Аналогичные изменения можно применять не только для всех баз данных сервера, но и для отдельно взятых БД. Для этого нужно действовать через пользовательский интерфейс оболочки PHPMyAdmin.</p>
123
</ul><p>После этого предстоит добавить строчку skip-character-set-client-handshake. Аналогичные изменения можно применять не только для всех баз данных сервера, но и для отдельно взятых БД. Для этого нужно действовать через пользовательский интерфейс оболочки PHPMyAdmin.</p>
124
<p>Какие кодировки существуют для современных компьютеров и сколько байт они используют для шифрования одного символа, понятно. Лучше разобраться с UTF-8, ASCII и другими методами кодирования помогут специальные компьютерные курсы.</p>
124
<p>Какие кодировки существуют для современных компьютеров и сколько байт они используют для шифрования одного символа, понятно. Лучше разобраться с UTF-8, ASCII и другими методами кодирования помогут специальные компьютерные курсы.</p>
125
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
125
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
126
126