\section{Кодировка windows-1251}

Windows-1251 "--- набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Была создана на базе кодировок, использовавшихся в ранних <<самопальных>> русификаторах Windows в 1990--1991 гг. совместно представителями <<Параграфа>>, <<Диалога>> и российского отделения Microsoft. Первоначальный вариант кодировки сильно отличался от представленного в таблице на Википедии (в частности, там было значительное число <<белых пятен>>).

Windows-1251 выгодно отличается от других 8-битных кириллических кодировок (таких как CP866, KOI8-R и ISO-8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.

Если к кириллическому тексту в кодировке Windows-1251 20 раз подряд применить перекодирование KOI8-R $\longrightarrow$ Windows-1251, в итоге будет получен исходный текст.

\bigskip

Имеет два недостатка:

\begin{itemize}

\item строчная буква <<я>> имеет код 0xFF (255 в десятичной системе). Она является <<виновницей>> ряда неожиданных проблем в программах без поддержки чистого 8-го бита, а также (гораздо более частый случай) использующих этот код как служебный (в CP437 он обозначает <<неразрывный пробел>>, в Windows-1252 — \"y, оба варианта практически не используются; число же -1, в байтовом представлении аналогичное 255, часто используется в программировании как <<пустое значение>>);

\item отсутствуют символы псевдографики, имеющиеся в CP866 и KOI8 (хотя для самих Windows, для которых она предназначена, в них не было нужды, это делало несовместимость двух использовавшихся в них кодировок заметнее).

\end{itemize}
