encyklopedia.space

Windows‑1250

Windows‑1250 (czasem określany jako CP1250) jest jedną z 8‑bitowych stron kodowych opracowanych przez firmę Microsoft w celu obsługi języków środkowoeuropejskich w systemie Microsoft Windows. Kodowanie to zostało wprowadzone w 1998 roku jako rozszerzenie standardu ISO/IEC 8859‑2, umożliwiając prawidłowe wyświetlanie znaków diakrytycznych używanych w językach takich jak polski, czeski, słowacki, słoweński, węgierski, rumuński i litewski.

Historia

W początkowych wersjach systemu Windows (Windows 3.1 oraz Windows 95) zastosowano różne strony kodowe zależne od ustawień regionalnych. Wraz ze wzrostem znaczenia komputerów osobistych w Europie Środkowej Microsoft opracował specjalną stronę kodową, aby ujednolicić obsługę znaków w tych językach. Pierwsze wersje Windows‑1250 pojawiły się wraz z Windows 98 oraz Windows 2000 i od tego czasu stały się domyślną stroną kodową dla większości aplikacji działających w środowisku Windows w regionie środkowoeuropejskim.

Charakterystyka techniczna

  • Rozmiar kodowania: 8 bitów (256 znaków).
  • Zakres kodów 0‑127: zgodny z ASCII.
  • Zakres kodów 128‑255: zawiera znaki specyficzne dla języków środkowoeuropejskich, w tym litery diakrytyczne: Ą, Ć, Ę, Ł, Ń, Ó, Ś, Ź, Ż oraz ich odpowiedniki w językach czeskim, słowackim i innych.
  • Nie obejmuje niektórych znaków używanych w języku bułgarskim i macedońskim (tam stosuje się Windows‑1251).

Mapa znaków

Poniżej przedstawiono wybrane znaki dostępne w kodowaniu Windows‑1250 wraz z ich kodami szesnastkowymi:

Kod (hex)SymbolOpis
0xA0 Spacja niełamliwa (NBSP)
0xA1ĄLitera A z ogonkiem (polski)
0xA2˘Krótki znak diakrytyczny (used in Czech/Slovak)
0xA3ŁLitera L z ukośnikiem (polski)
0xA5ŚLitera S ze streką (polski)
0xA6ŤLitera T z akcentem (czeski)
0xA9ŹLitera Z z akcentem (polski)
0xABŽLitera Z z haakiem (czeski/ słowacki)
0xB9ąMała litera a z ogonkiem (polski)
0xBAĹLitera L z akcentem (słowacki)
0xBCłMała litera l z ukośnikiem (polski)
0xC1ÁŁaciński kapitalny A z akcentem (używane w językach słowiańskich)
0xD1ŃLitera N z ogonkiem (polski)
0xD3ÓLitera O z akcentem (polski)
0xDCÜU z umlautem (używane w węgierskim)
0xE1áMała litera a z akcentem
0xE9éMała litera e z akcentem
0xF1ńMała litera n z ogonkiem (polski)

Zastosowania

Windows‑1250 był szeroko wykorzystywany w następujących obszarach:

  • Systemy operacyjne Windows w wersjach od Windows 95 do Windows XP (domyślnie w ustawieniach regionalnych dla Polski, Czech, Słowacji i pokrewnych).
  • Aplikacje biurowe, takie jak Microsoft Office, które w tamtym okresie zapisywały dokumenty w domyślnej stronie kodowej systemu.
  • Strony internetowe i serwery WWW działające przed powszechnym przyjęciem Unicode. W nagłówkach HTML stosowano deklarację charset=windows-1250.
  • Systemy bazodanowe (np. Microsoft SQL Server) umożliwiające przechowywanie tekstu w tej stronie kodowej.

Kompatybilność i migracja

Wraz z rozwojem Unicode i formatów UTF‑8 popularność Windows‑1250 stopniowo maleje. Większość nowoczesnych aplikacji i systemów operacyjnych obsługuje Unicode jako jedyny standard, co upraszcza wymianę danych między różnymi językami i platformami. Migracja z Windows‑1250 do Unicode zazwyczaj wymaga konwersji przy użyciu narzędzi takich jak iconv lub bibliotek ICU. Podczas takiej konwersji trzeba zwrócić uwagę na następujące problemy:

  • Utrata znaków nieodpowiadających żadnemu punktowi kodowemu w Unicode (rzadko, ale zdarza się przy własnych rozszerzeniach).
  • Różnice w interpretacji niektórych znaków podobnych graficznie, np. Ĺ (U+0139) vs. Ł (U+0141).

Porównanie z innymi stronami kodowymi

Poniższa tabela zestawia Windows‑1250 z najważniejszymi kodowaniami używanymi w Europie Środkowej i Wschodniej:

KodowanieRegionyPodstawowy zestaw znakówDomyślne w Windows
Windows‑1250Polska, Czechy, Słowacja, Węgry, Słowenia, Rumunia, LitwaLitery diakrytyczne centralnej EuropyTak (od Windows 95)
Windows‑1251Rosja, Ukraina, Białoruś, Bułgaria, MacedoniaCyrylicaTak (od Windows 95)
ISO/IEC 8859‑2Środkowa Europa (bez Węgier)Podobny zestaw do Windows‑1250, ale brak niektórych znaków węgierskichNie
UTF‑8GlobalnyPełny zestaw UnicodeStandard od Windows XP SP2 i nowszych

Obecny status

Chociaż Windows‑1250 nie jest już domyślnym kodowaniem, wciąż jest wspierany w:

  • Starszych aplikacjach i systemach, które nie zostały zaktualizowane do obsługi Unicode.
  • Plikach konfiguracyjnych i bazach danych migrowanych z legacy systemów.
  • Niektórych środowisk programistycznych (np. w Pythonie poprzez kodowanie cp1250).

W praktyce zaleca się używanie Unicode (UTF‑8) we wszystkich nowych projektach, aby zapewnić maksymalną kompatybilność i łatwość wymiany danych.

Zobacz także