<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{Кодировка windows-1251}

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

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

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

\bigskip

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

\begin{itemize}

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

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

\end{itemize}
</pre></body></html>