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.
|
Ђ 402
|
Ѓ 403
|
‚ 201A
|
ѓ 453
|
„ 201E
|
… 2026
|
† 2020
|
‡ 2021
|
€ 20AC
|
‰ 2030
|
Љ 409
|
‹ 2039
|
Њ 40A
|
Ќ 40C
|
Ћ 40B
|
Џ 40F
|
9.
|
ђ 452
|
‘ 2018
|
’ 2019
|
“ 201C
|
” 201D
|
• 2022
|
– 2013
|
— 2014
|
|
™ 2122
|
љ 459
|
› 203A
|
њ 45A
|
ќ 45C
|
ћ 45B
|
џ 45F
|
A.
|
A0
|
Ў 40E
|
ў 45E
|
Ј 408
|
¤ A4
|
Ґ 490
|
¦ A6
|
§ A7
|
Ё 401
|
© A9
|
Є 404
|
« AB
|
¬ AC
|
AD
|
® AE
|
Ї 407
|
B.
|
° B0
|
± B1
|
І 406
|
і 456
|
ґ 491
|
µ B5
|
¶ B6
|
· B7
|
ё 451
|
№ 2116
|
є 454
|
» BB
|
ј 458
|
Ѕ 405
|
ѕ 455
|
ї 457
|
C.
|
А 410
|
Б 411
|
В 412
|
Г 413
|
Д 414
|
Е 415
|
Ж 416
|
З 417
|
И 418
|
Й 419
|
К 41A
|
Л 41B
|
М 41C
|
Н 41D
|
О 41E
|
П 41F
|
D.
|
Р 420
|
С 421
|
Т 422
|
У 423
|
Ф 424
|
Х 425
|
Ц 426
|
Ч 427
|
Ш 428
|
Щ 429
|
Ъ 42A
|
Ы 42B
|
Ь 42C
|
Э 42D
|
Ю 42E
|
Я 42F
|
E.
|
а 430
|
б 431
|
в 432
|
г 433
|
д 434
|
е 435
|
ж 436
|
з 437
|
и 438
|
й 439
|
к 43A
|
л 43B
|
м 43C
|
н 43D
|
о 43E
|
п 43F
|
F.
|
р 440
|
с 441
|
т 442
|
у 443
|
ф 444
|
х 445
|
ц 446
|
ч 447
|
ш 448
|
щ 449
|
ъ 44A
|
ы 44B
|
ь 44C
|
э 44D
|
ю 44E
|
я 44F
|
Другие варианты
(Показаны только отличающиеся строки, поскольку всё остальное совпадает)
Официальная кодировка Amiga-1251 (Amiga Inc., 2004 г.)
|
.0 |
.1
|
.2 |
.3
|
.4 |
.5
|
.6 |
.7
|
.8 |
.9
|
.A |
.B
|
.C |
.D
|
.E |
.F
|
A.
|
A0
|
¡ A1
|
¢ A2
|
£ A3
|
€ 20AC
|
¥ A5
|
¦ A6
|
§ A7
|
Ё 401
|
© A9
|
№ 2116
|
« AB
|
¬ AC
|
AD
|
® AE
|
¯ AF
|
B.
|
° B0
|
± B1
|
² B2
|
³ B3
|
´ B4
|
µ B5
|
¶ B6
|
· B7
|
ё 451
|
¹ B9
|
º BA
|
» BB
|
¼ BC
|
½ BD
|
¾ BE
|
¿ BF
|
Официальная кодировка 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.
|
Ђ 402
|
Ѓ 403
|
‚ 201A
|
ѓ 453
|
„ 201E
|
… 2026
|
† 2020
|
‡ 2021
|
€ 20AC
|
‰ 2030
|
Љ 409
|
‹ 2039
|
Њ 40A
|
Қ 49A
|
Һ 4BA
|
Џ 40F
|
9.
|
ђ 452
|
‘ 2018
|
’ 2019
|
“ 201C
|
” 201D
|
• 2022
|
– 2013
|
— 2014
|
|
™ 2122
|
љ 459
|
› 203A
|
њ 45A
|
қ 49B
|
һ 4BB
|
џ 45F
|
A.
|
A0
|
Ұ 4B0
|
ұ 4B1
|
Ә 4D8
|
¤ A4
|
Ө 4E8
|
¦ A6
|
§ A7
|
Ё 401
|
© A9
|
Ғ 492
|
« AB
|
¬ AC
|
AD
|
® AE
|
Ү 4AE
|
B.
|
° B0
|
± B1
|
І 406
|
і 456
|
ө 4E9
|
µ B5
|
¶ B6
|
· B7
|
ё 451
|
№ 2116
|
ғ 493
|
» BB
|
ә 4D9
|
Ң 4A2
|
ң 4A3
|
ү 4AF
|
Кодировка Windows-1251 (чувашский вариант)
|
.0 |
.1
|
.2 |
.3
|
.4 |
.5
|
.6 |
.7
|
.8 |
.9
|
.A |
.B
|
.C |
.D
|
.E |
.F
|
8.
|
Ђ 402
|
Ѓ 403
|
‚ 201A
|
ѓ 453
|
„ 201E
|
… 2026
|
† 2020
|
‡ 2021
|
€ 20AC
|
‰ 2030
|
Љ 409
|
‹ 2039
|
Ӑ 4D0
|
Ӗ 4D6
|
Ҫ 4AA
|
Ӳ 4F2
|
9.
|
ђ 452
|
‘ 2018
|
’ 2019
|
“ 201C
|
” 201D
|
• 2022
|
– 2013
|
— 2014
|
|
™ 2122
|
љ 459
|
› 203A
|
ӑ 4D1
|
ӗ 4D7
|
ҫ 4AB
|
ӳ 4F3
|
Татарский вариант
Эта кодировка была официально принята в Татарстане в 1996 г.
|
.0 |
.1
|
.2 |
.3
|
.4 |
.5
|
.6 |
.7
|
.8 |
.9
|
.A |
.B
|
.C |
.D
|
.E |
.F
|
8.
|
Ә 4D8
|
Ѓ 403
|
‚ 201A
|
ѓ 453
|
„ 201E
|
… 2026
|
† 2020
|
‡ 2021
|
€ 20AC
|
‰ 2030
|
Ө 4E8
|
‹ 2039
|
Ү 4AE
|
Җ 496
|
Ң 4A2
|
Һ 4BA
|
9.
|
ә 4D9
|
‘ 2018
|
’ 2019
|
“ 201C
|
” 201D
|
• 2022
|
– 2013
|
— 2014
|
|
™ 2122
|
ө 4E9
|
› 203A
|
ү 4AF
|
җ 497
|
ң 4A3
|
һ 4BB
|
Примечания
Ссылки
|
---|
|
Исторические | |
---|
Современное 8-битное представление | |
---|
Многобайтовые | |
---|
|