![](/user_photo/2706_HbeT2.jpg)
- •Лекция 06
- •Кодировки символов
- •Национальные кодировки
- •Определения
- •Кодировки латиницы
- •Кодировки кириллицы
- •Двухбайтовые кодировки
- •Недостатки национальных кодировок
- •Альтернативная кодировка
- •Iso 8859-5
- •Кодировка iso 8859-5
- •Кодировка koi8-r
- •Кодировка koi8-r
- •Кодировка koi8-u (украинская)
- •Кодировка Windows-1251
Кодировка koi8-u (украинская)
|
.0 |
.1 |
.2 |
.3 |
.4 |
.5 |
.6 |
.7 |
.8 |
.9 |
.A |
.B |
.C |
.D |
.E |
.F |
A. |
═ 2550 |
║ 2551 |
╒ 2552 |
ё 451 |
є 454 |
╔ 2554 |
і 456 |
ї 457 |
╗ 2557 |
╘ 2558 |
╙ 2559 |
╚ 255A |
╛ 255B |
ґ 491 |
╝ 255D |
╞ 255E |
B. |
╟ 255F |
╠ 2560 |
╡ 2561 |
Ё 401 |
Є 404 |
╣ 2563 |
І 406 |
Ї 407 |
╦ 2566 |
╧ 2567 |
╨ 2568 |
╩ 2569 |
╪ 256A |
Ґ 490 |
╬ 256C |
© A9 |
UTF-8
Unicode Transformation Format— формат преобразования Юникода) — кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста.
Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221не планируется), в которых первый байт всегда имеет вид11xxxxxx, а остальные —10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи октетов со старшим битом 1. В результате, даже если программа не распознаёт Юникод, то английский язык и разметка всё равно будут отображаться правильно.
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Символы UTF-8 получаются из Unicode следующим образом:
Unicode UTF-8
0x00000000 — 0x0000007F: 0xxxxxxx
0x00000080 — 0x000007FF: 110xxxxx 10xxxxxx
0x00000800 — 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
0x00010000 — 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
(теоретически возможны, но не включены в стандарт также:)
0x00200000 — 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0x04000000 — 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
В Юникоде для кириллицы выделено два раздела:
Cyrillic (U+0400 — U+04FF)
Cyrillic Supplement (U+0500 — U+052F).
Символы можно разделить на 3 группы:
U+0400 — U+045F — это символы из ISO 8859-5, но перемещённые вверх на 864 позиции (36016).
U+0460 — U+0489 — исторические буквы.
U+048A — U+052F — это дополнительные буквы для разных языков, использующих кириллицу.
В Юникоде нет русских букв с ударением, но их можно делать составными, добавляя символ U+0301 («combining acute accent») после ударной гласной (например, ы́ э́ ю́ я́).
Кодировка Windows-1251
Кодировка Windows-1251является стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Была создана на базе кодировок, использовавшихся в ранних «самопальных» русификаторах Windows в 1990—1991 гг.
Windows-1251 выгодно отличается от других кириллических кодировок наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); она также содержит все символы для украинского, белорусского, сербского и болгарского языков.