Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для русских версий Microsoft Windows до 10-й версии. В прошлом пользовалась довольно большой популярностью. Была создана на базе кодировок, использовавшихся в ранних «самопальных» русификаторах Windows в 1990—1991 гг. совместно представителями «Параграфа», «Диалога» и российского отделения Microsoft. Первоначальный вариант кодировки сильно отличался от представленного ниже в таблице (в частности, там было значительное число «белых пятен»). Но, однако был вариативным и представленным в 6 формах применения.
В современных приложениях отдается предпочтение Юникоду (UTF-8). На 1 апреля 2019 лишь на 1 % всех веб-страниц используется Windows-1251.[1]
Особенности
Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); она также содержит все символы для других славянских языков: украинского, белорусского, сербского, македонского и болгарского.
Windows-1251 имеет два недостатка:
- строчная буква «я» имеет код 0xFF (255 в десятичной системе). Она является «виновницей» ряда неожиданных проблем в программах без поддержки чистого 8-го бита, а также (гораздо более частый случай) использующих этот код как служебный (в CP437 он обозначает «неразрывный пробел», в Windows-1252 — ÿ, оба варианта практически не используются; число же
-1
, в дополнительном коде длиной 8 бит представляющееся числом255
, часто используется в программировании как специальное значение). Тот же недостаток имеет и KOI8-R, но в ней 0xFF есть заглавный твердый знак, который применяется редко (только при написании одними лишь заглавными буквами). - отсутствуют символы псевдографики, имеющиеся в CP866 и KOI8 (хотя для самих Windows, для которых она предназначена, в них не было нужды, это делало несовместимость двух использовавшихся в них кодировок заметнее).
Также как недостаток может рассматриваться отдельное расположение буквы «ё», тогда как остальные символы расположены строго в алфавитном порядке. Это усложняет программы лексикографического упорядочения.
Синонимы: CP1251; ANSI (только в русскоязычной ОС Windows).
Таблицы
Первая половина таблицы кодировки (коды от 0x00 до 0x7F) полностью соответствует кодировке ASCII. Числа под буквами обозначают шестнадцатеричный код подходящего символа в Юникоде.
Кодировка Windows-1251
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ 0402 |
Ѓ 0403 |
‚ 201A |
ѓ 0453 |
„ 201E |
… 2026 |
† 2020 |
‡ 2021 |
€ 20AC |
‰ 2030 |
Љ 0409 |
‹ 2039 |
Њ 040A |
Ќ 040C |
Ћ 040B |
Џ 040F |
9. | ђ 0452 |
‘ 2018 |
’ 2019 |
“ 201C |
” 201D |
• 2022 |
– 2013 |
— 2014 |
™ 2122 |
љ 0459 |
› 203A |
њ 045A |
ќ 045C |
ћ 045B |
џ 045F | |
A. | 00A0 |
Ў 040E |
ў 045E |
Ј 0408 |
¤ 00A4 |
Ґ 0490 |
¦ 00A6 |
§ 00A7 |
Ё 0401 |
© 00A9 |
Є 0404 |
« 00AB |
¬ 00AC |
00AD |
® 00AE |
Ї 0407 |
B. | ° 00B0 |
± 00B1 |
І 0406 |
і 0456 |
ґ 0491 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
ё 0451 |
№ 2116 |
є 0454 |
» 00BB |
ј 0458 |
Ѕ 0405 |
ѕ 0455 |
ї 0457 |
C. | А 0410 |
Б 0411 |
В 0412 |
Г 0413 |
Д 0414 |
Е 0415 |
Ж 0416 |
З 0417 |
И 0418 |
Й 0419 |
К 041A |
Л 041B |
М 041C |
Н 041D |
О 041E |
П 041F |
D. | Р 0420 |
С 0421 |
Т 0422 |
У 0423 |
Ф 0424 |
Х 0425 |
Ц 0426 |
Ч 0427 |
Ш 0428 |
Щ 0429 |
Ъ 042A |
Ы 042B |
Ь 042C |
Э 042D |
Ю 042E |
Я 042F |
E. | а 0430 |
б 0431 |
в 0432 |
г 0433 |
д 0434 |
е 0435 |
ж 0436 |
з 0437 |
и 0438 |
й 0439 |
к 043A |
л 043B |
м 043C |
н 043D |
о 043E |
п 043F |
F. | р 0440 |
с 0441 |
т 0442 |
у 0443 |
ф 0444 |
х 0445 |
ц 0446 |
ч 0447 |
ш 0448 |
щ 0449 |
ъ 044A |
ы 044B |
ь 044C |
э 044D |
ю 044E |
я 044F |
-
Таблица основного кода ASCII
-
Таблица расширенного кода ASCII
Другие варианты
(Показаны только отличающиеся строки, поскольку всё остальное совпадает)
Официальная кодировка Amiga-1251 (Amiga Inc., 2004)
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A. | 00A0 |
¡ 00A1 |
¢ 00A2 |
£ 00A3 |
€ 20AC |
¥ 00A5 |
¦ 00A6 |
§ 00A7 |
Ё 0401 |
© 00A9 |
№ 2116 |
« 00AB |
¬ 00AC |
00AD |
® 00AE |
¯ 00AF |
B. | ° 00B0 |
± 00B1 |
² 00B2 |
³ 00B3 |
´ 00B4 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
ё 0451 |
¹ 00B9 |
º 00BA |
» 00BB |
¼ 00BC |
½ 00BD |
¾ 00BE |
¿ 00BF |
Официальная кодировка KZ-1048 (казахский стандарт)
Данная кодировка утверждена стандартом СТ РК 1048—2002 и зарегистрирована в IANA как KZ-1048 [1].
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ 0402 |
Ѓ 0403 |
‚ 201A |
ѓ 0453 |
„ 201E |
… 2026 |
† 2020 |
‡ 2021 |
€ 20AC |
‰ 2030 |
Љ 0409 |
‹ 2039 |
Њ 040A |
Қ 049A |
Һ 04BA |
Џ 040F |
9. | ђ 0452 |
‘ 2018 |
’ 2019 |
“ 201C |
” 201D |
• 2022 |
– 2013 |
— 2014 |
™ 2122 |
љ 0459 |
› 203A |
њ 045A |
қ 049B |
һ 04BB |
џ 045F | |
A. | 00A0 |
Ұ 04B0 |
ұ 04B1 |
Ә 04D8 |
¤ 00A4 |
Ө 04E8 |
¦ 00A6 |
§ 00A7 |
Ё 0401 |
© 00A9 |
Ғ 0492 |
« 00AB |
¬ 00AC |
00AD |
® 00AE |
Ү 04AE |
B. | ° 00B0 |
± 00B1 |
І 0406 |
і 0456 |
ө 04E9 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
ё 0451 |
№ 2116 |
ғ 0493 |
» 00BB |
ә 04D9 |
Ң 04A2 |
ң 04A3 |
ү 04AF |
Чувашский вариант Windows-1251
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ 0402 |
Ѓ 0403 |
‚ 201A |
ѓ 0453 |
„ 201E |
… 2026 |
† 2020 |
‡ 2021 |
€ 20AC |
‰ 2030 |
Љ 0409 |
‹ 2039 |
Ӑ 04D0 |
Ӗ 04D6 |
Ҫ 04AA |
Ӳ 04F2 |
9. | ђ 0452 |
‘ 2018 |
’ 2019 |
“ 201C |
” 201D |
• 2022 |
– 2013 |
— 2014 |
™ 2122 |
љ 0459 |
› 203A |
ӑ 04D1 |
ӗ 04D7 |
ҫ 04AB |
ӳ 04F3 |
Татарский вариант Windows-1251
Эта кодировка была официально принята в Татарстане в 1996 году.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ә 04D8 |
Ѓ 0403 |
‚ 201A |
ѓ 0453 |
„ 201E |
… 2026 |
† 2020 |
‡ 2021 |
€ 20AC |
‰ 2030 |
Ө 04E8 |
‹ 2039 |
Ү 04AE |
Җ 0496 |
Ң 04A2 |
Һ 04BA |
9. | ә 04D9 |
‘ 2018 |
’ 2019 |
“ 201C |
” 201D |
• 2022 |
– 2013 |
— 2014 |
™ 2122 |
ө 04E9 |
› 203A |
ү 04AF |
җ 0497 |
ң 04A3 |
һ 04BB |
Примечания
- ↑ Historical trends in the usage of character encodings, April 2019 . Дата обращения: 11 февраля 2016. Архивировано 3 марта 2021 года.
Ссылки
- История создании кодировки в сообщении Игоря Семенюка в эхоконференции SU.LAN от 14 января 1996
- Юникод-коды символов на unicode.org
You must be logged in to post a comment.