summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/xecyr/doc/inputs/1251.tex
blob: 3b639df8f8493ab53fd75fa45ef517a71259cb68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
\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}