Windows-1252 nebo CP-1252 je znaková sada používaná implicitně ve starších verzích Microsoft Windows pro angličtinu a některé další západoevropské jazyky. Patří mezi kódové stránky systému Windows.
Detaily
Zatímco kódování IANA ISO-8859-1 obsazuje kódy 0x80 až 0x9F řídicími znaky z řídicí sady C1, Windows-1252 používá tyto kódy pro tisknutelné znaky. Z pohledu tisknutelných znaků a díky minimálnímu používání řídicích znaků ze sady C1 bývá Windows-1252 považováno za nadmnožinu kódování ISO 8859-1. Z přidaných znaků jsou významné jednoduché a dvojité uvozovky, znak Euro a všechny tisknutelné znaky, které jsou (s jinými kódy) v ISO 8859-15. V Microsoft Windows se označuje jako kódová stránka číslo 1252, IANA používá označení „windows-1252“.
Velmi často je kódování Windows-1252 označováno jako ISO-8859-1. Obvyklým důsledkem bylo, že všechny uvozovky a apostrofy (vytvořené ve slovních procesorech funkcí „smart quotes“) byly na jiných operačních systémech než Windows nahrazeny otazníky nebo čtverečky, což ztěžovalo čtení textu. Většina moderních WWW prohlížečů a klientů pro e-mail zobrazuje MIMEcharset=ISO-8859-1 jako Windows-1252, aby zobrazovaly takto chybně označené texty správně. Okolo roku 2010 to bylo standardní chování v HTML 5, které vyžadovalo, aby dokumenty označené jako ISO-8859-1 byly skutečně analyzovány s kódováním Windows-1252.[1] V dubnu 2017 uvádělo kódování Windows-1252 0,8 % WWW stránek,[2][3] ale 5,2 % stránek používalo ISO-8859-1, které by podle norem HTML5 měly být považovány za stejné kódování, takže lze říct, že efektivně 6 % WWW stránek používá kódování Windows-1252.
Označení „ANSI Code Page“ (ACP) se historicky používalo ve Windows pro označení různých kódových stránek považovaných za nativní. Původním úmyslem bylo zaregistrovat většinu kódových stránek jako ANSI standard podobně jako ISO/IEC 8859-1. Ale ani první a zdaleka nejpoužívanější takto pojmenovaná kódová stránka, kterou je právě Windows-1252, nebyla nikdy ANSI standardem. Microsoft píše: „Používání termínu ANSI pro označení kódových stránek Windows je překonané, nyní nevhodné, ale v komunitě uživatelů Windows přetrvává.“[4]
V systému LaTeX je kódování CP-1252 označovano jako „ansinew“.
Struktura kódové stránky
Následující tabulka zobrazuje kódování Windows-1252. U každého znaku je uveden jeho kódový bod Unicode a desítkový kód. Konverze do Unicode vycházejí z mapování Windows-1252 s „best fit“ uvedeného na serveru Unicode.org.[5]
Vysvětlivky:
Alfabetický znak
Řídicí znak
Číslice
Interpunkce
Rozšířená interpunkce
Grafický znak
Mezinárodní znak
Nedefinováno
Je zde použita šablona {{Col-begin}} označená jako k „pouze dočasnému použití“.
Podle informací z webů firmy Microsoft a Unicode Consortia nejsou kódy 0x81, 0x8D, 0x8F, 0x90 a 0x9D použité; Windows API MultiByteToWideChar je však převádí na odpovídající znaky z řídicí sady C1. Toto chování je zdokumentováno i v „best fit“ mapování.[5]
Historie
V první verzi kódové stránky 1252 používané v Microsoft Windows 1.0 nebyly definované pozice 0xD7 a 0xF7 a celý rozsah 0x80-0x9F.
Ve druhé verzi používané v Microsoft Windows 2.0 byly nově definované kódy 0x91, 0x92, 0xD7 a 0xF7.
Třetí verze používaná od Microsoft Windows 3.1, měla definované všechny pozice kromě znaku Eura a dvojice znaků Z s háčkem.
Poslední verze, která je popsána výše, se objevila v Microsoft Windows 98 a v rámci updatu doplňujícího znak Eura byla portována i na starší verze Windows.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Windows-1252 na anglické Wikipedii.
↑Encoding [online]. WHATWG, 2015-01-27 [cit. 2015-02-04]. Dostupné v archivu pořízeném dne 2015-02-04.
↑Historical trends in the usage of character encodings, October 2016 [online]. Dostupné online.