CP852 (Code page 852, CP 852, IBM 852, OEM 852, MS-DOS Latin 2, PC Latin 2, Slavic (Latin II)) – 8-bitowe kodowanie znaków stosowane w systemach operacyjnych MS-DOS, PC-DOS, DR-DOS i FreeDOS, w zamyśle mające zawierać znaki języków krajów Europy Wschodniej opartych na alfabecie łacińskim. Analogicznie jak w przypadku kodowania CP850, niektóre litery ze znakami diakrytycznymi zastąpiły niektóre istniejące w CP437 znaki semigrafiki i symbole matematyczne. Od czasu rozpowszechnienia się systemów operacyjnych Windows 3.x, a zwłaszcza Windows 95 i Windows NT 4.0, wykorzystujących kodowanie Windows-1250 i (w różnym stopniu) unikod, znaczenie kodowania CP852 zaczęło bardzo szybko maleć, choć nadal jest ono wykorzystywane w aplikacjach pisanych dla systemu operacyjnego DOS lub nieposiadających interfejsu graficznego (przeznaczonych do uruchamiania w oknie DOS względnie oknie konsoli), w tym programach księgowych, magazynowych itp.

Historia Strona kodowa CP852 po raz pierwszy pojawiła się w systemie MS-DOS w wersji 5.0, wydanej we wrześniu 1991 r.

Zestaw znaków Kodowanie CP852 zawiera litery ze znakami diakrytycznymi używane w następujących językach: albańskim, białoruskim (Łacinka), bośniackim, chorwackim, czeskim, irlandzkim, dolno- i górnołużyckim, niemieckim, polskim, rumuńskim (patrz poniżej), słowackim, słoweńskim, turkmeńskim i węgierskim.

Kodowanie to zostało zaprojektowane z myślą o możliwie najpełniejszym pokryciu języków dawnego bloku sowieckiego używających alfabetu łacińskiego. Wbrew jednej z nazw (kodowanie języków słowiańskich) zawiera litery używane w języku albańskim (należącym do grupy języków ilirskich), niemieckim (należącym do grupy języków germańskich), językiem rumuńskim (należącym do grupy języków romańskich) i węgierskim (należącym do grupy języków ugrofińskich), a nie pozwala na użycie z językami opartymi na cyrylicy. Nie zawiera wszystkich znaków używanych w poprawnej typografii języka rumuńskiego.

Braki znaków Kodowanie CP852 nie zawiera cudzysłowów używanych w typografii języków obsługiwanych przez to kodowanie (np. stosowanych w Polsce «„» i «”»). Brak również czterech znaków używanych w języku rumuńskim, pisanych z przecinkiem pod spodem: 0x0218 LATIN CAPITAL LETTER S WITH COMMA BELOW 0x0219 LATIN SMALL LETTER S WITH COMMA BELOW 0x021A LATIN CAPITAL LETTER T WITH COMMA BELOW 0x021B LATIN SMALL LETTER T WITH COMMA BELOW. Przyjęto, że będą stosowane analogiczne litery z cedillą: 0x015E LATIN CAPITAL LETTER S WITH CEDILLA 0x015F LATIN SMALL LETTER S WITH CEDILLA 0x0162 LATIN CAPITAL LETTER T WITH CEDILLA 0x0163 LATIN SMALL LETTER T WITH CEDILLA W czasach projektowania kodowania CP852 uznawano, że przecinek pod spodem jest typograficzną odmianą cedilli, nie osobnym znakiem diakrytycznym.

Tablica kodów CP852     x0     x1     x2     x3     x4     x5     x6     x7     x8     x9     xA     xB     xC     xD     xE     xF   0x NULL ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼ 1x ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼ 2x SP ! " # $ % & ' ( ) * + Przecinek, - . / 3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 4x @ A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z [ \ ] ^ _ 6x ` a b c d e f g h i j k l m n o 7x p q r s t u v w x y z { | } ~ ⌂ 8x Ç ü é â ä ů ć ç ł ë Ő ő î Ź Ä Ć 9x É Ĺ ĺ ô ö Ľ ľ Ś ś Ö Ü Ť ť Ł × č Ax á í ó ú Ą ą Ž ž Ę ę ¬ ź Č ş « » Bx ░ ▒ ▓ │ ┤ Á Â Ě Ş ╣ ║ ╗ ╝ Ż ż ┐ Cx └ ┴ ┬ ├ ─ ┼ Ă ă ╚ ╔ ╩ ╦ ╠ ═ ╬ ¤ Dx đ Đ Ď Ë ď Ň Í Î ě ┘ ┌ █ ▄ Ţ Ů ▀ Ex Ó ß Ô Ń ń ň Š š Ŕ Ú ŕ Ű ý Ý ţ ´ Fx SHY ˝ ˛ ˇ ˘ § ÷ ¸ ° ¨ ˙ ű Ř ř ■ NBSP

      znaki posiadają podwójną funkcję: mogą pełnić rolę znaków sterujących, ale również mogą reprezentować znaki graficzne

Mapowanie na unikod Poniższa tabela przedstawia kody Unicode znaków zawartych w stronie kodowej CP852. Tabela zawiera wyłącznie znaki z górnego zakresu (dolny zakres, czyli pozycje 0x00 ÷ 0x7F jest identyczny z ASCII. Wszystkie kody podane jako szesnastkowe.

CP852 CP852 Znak Unicode Nazwa znaku 0x80 Ç 0x00C7 LATIN CAPITAL LETTER C WITH CEDILLA 0x81 ü 0x00FC LATIN SMALL LETTER U WITH DIAERESIS 0x82 é 0x00E9 LATIN SMALL LETTER E WITH ACUTE 0x83 â 0x00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX 0x84 ä 0x00E4 LATIN SMALL LETTER A WITH DIAERESIS 0x85 ů 0x016F LATIN SMALL LETTER U WITH RING ABOVE 0x86 ć 0x0107 LATIN SMALL LETTER C WITH ACUTE 0x87 ç 0x00E7 LATIN SMALL LETTER C WITH CEDILLA 0x88 ł 0x0142 LATIN SMALL LETTER L WITH STROKE 0x89 ë 0x00EB LATIN SMALL LETTER E WITH DIAERESIS 0x8A Ő 0x0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE 0x8B ő 0x0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE 0x8C î 0x00EE LATIN SMALL LETTER I WITH CIRCUMFLEX 0x8D Ź 0x0179 LATIN CAPITAL LETTER Z WITH ACUTE 0x8E Ä 0x00C4 LATIN CAPITAL LETTER A WITH DIAERESIS 0x8F Ć 0x0106 LATIN CAPITAL LETTER C WITH ACUTE 0x90 É 0x00C9 LATIN CAPITAL LETTER E WITH ACUTE 0x91 Ĺ 0x0139 LATIN CAPITAL LETTER L WITH ACUTE 0x92 ĺ 0x013A LATIN SMALL LETTER L WITH ACUTE 0x93 ô 0x00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX 0x94 ö 0x00F6 LATIN SMALL LETTER O WITH DIAERESIS 0x95 Ľ 0x013D LATIN CAPITAL LETTER L WITH CARON 0x96 ľ 0x013E LATIN SMALL LETTER L WITH CARON 0x97 Ś 0x015A LATIN CAPITAL LETTER S WITH ACUTE 0x98 ś 0x015B LATIN SMALL LETTER S WITH ACUTE 0x99 Ö 0x00D6 LATIN CAPITAL LETTER O WITH DIAERESIS 0x9A Ü 0x00DC LATIN CAPITAL LETTER U WITH DIAERESIS 0x9B Ť 0x0164 LATIN CAPITAL LETTER T WITH CARON 0x9C ť 0x0165 LATIN SMALL LETTER T WITH CARON 0x9D Ł 0x0141 LATIN CAPITAL LETTER L WITH STROKE 0x9E × 0x00D7 MULTIPLICATION SIGN 0x9F č 0x010D LATIN SMALL LETTER C WITH CARON 0xA0 á 0x00E1 LATIN SMALL LETTER A WITH ACUTE 0xA1 í 0x00ED LATIN SMALL LETTER I WITH ACUTE 0xA2 ó 0x00F3 LATIN SMALL LETTER O WITH ACUTE 0xA3 ú 0x00FA LATIN SMALL LETTER U WITH ACUTE 0xA4 Ą 0x0104 LATIN CAPITAL LETTER A WITH OGONEK 0xA5 ą 0x0105 LATIN SMALL LETTER A WITH OGONEK 0xA6 Ž 0x017D LATIN CAPITAL LETTER Z WITH CARON 0xA7 ž 0x017E LATIN SMALL LETTER Z WITH CARON 0xA8 Ę 0x0118 LATIN CAPITAL LETTER E WITH OGONEK 0xA9 ę 0x0119 LATIN SMALL LETTER E WITH OGONEK 0xAA ¬ 0x00AC NOT SIGN 0xAB ź 0x017A LATIN SMALL LETTER Z WITH ACUTE 0xAC Č 0x010C LATIN CAPITAL LETTER C WITH CARON 0xAD ş 0x015F LATIN SMALL LETTER S WITH CEDILLA 0xAE « 0x00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 0xAF » 0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 0xB0 ░ 0x2591 LIGHT SHADE 0xB1 ▒ 0x2592 MEDIUM SHADE 0xB2 ▓ 0x2593 DARK SHADE 0xB3 │ 0x2502 BOX DRAWINGS LIGHT VERTICAL 0xB4 ┤ 0x2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT 0xB5 Á 0x00C1 LATIN CAPITAL LETTER A WITH ACUTE 0xB6 Â 0x00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX 0xB7 Ě 0x011A LATIN CAPITAL LETTER E WITH CARON 0xB8 Ş 0x015E LATIN CAPITAL LETTER S WITH CEDILLA 0xB9 ╣ 0x2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT 0xBA ║ 0x2551 BOX DRAWINGS DOUBLE VERTICAL 0xBB ╗ 0x2557 BOX DRAWINGS DOUBLE DOWN AND LEFT 0xBC ╝ 0x255D BOX DRAWINGS DOUBLE UP AND LEFT 0xBD Ż 0x017B LATIN CAPITAL LETTER Z WITH DOT ABOVE 0xBE ż 0x017C LATIN SMALL LETTER Z WITH DOT ABOVE 0xBF ┐ 0x2510 BOX DRAWINGS LIGHT DOWN AND LEFT 0xC0 └ 0x2514 BOX DRAWINGS LIGHT UP AND RIGHT 0xC1 ┴ 0x2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL 0xC2 ┬ 0x252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL 0xC3 ├ 0x251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT 0xC4 ─ 0x2500 BOX DRAWINGS LIGHT HORIZONTAL 0xC5 ┼ 0x253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL 0xC6 Ă 0x0102 LATIN CAPITAL LETTER A WITH BREVE 0xC7 ă 0x0103 LATIN SMALL LETTER A WITH BREVE 0xC8 ╚ 0x255A BOX DRAWINGS DOUBLE UP AND RIGHT 0xC9 ╔ 0x2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT 0xCA ╩ 0x2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL 0xCB ╦ 0x2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL 0xCC ╠ 0x2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT 0xCD ═ 0x2550 BOX DRAWINGS DOUBLE HORIZONTAL 0xCE ╬ 0x256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL 0xCF ¤ 0x00A4 CURRENCY SIGN 0xD0 đ 0x0111 LATIN SMALL LETTER D WITH STROKE 0xD1 Đ 0x0110 LATIN CAPITAL LETTER D WITH STROKE 0xD2 Ď 0x010E LATIN CAPITAL LETTER D WITH CARON 0xD3 Ë 0x00CB LATIN CAPITAL LETTER E WITH DIAERESIS 0xD4 ď 0x010F LATIN SMALL LETTER D WITH CARON 0xD5 Ň 0x0147 LATIN CAPITAL LETTER N WITH CARON 0xD6 Í 0x00CD LATIN CAPITAL LETTER I WITH ACUTE 0xD7 Î 0x00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX 0xD8 ě 0x011B LATIN SMALL LETTER E WITH CARON 0xD9 ┘ 0x2518 BOX DRAWINGS LIGHT UP AND LEFT 0xDA ┌ 0x250C BOX DRAWINGS LIGHT DOWN AND RIGHT 0xDB █ 0x2588 FULL BLOCK 0xDC ▄ 0x2584 LOWER HALF BLOCK 0xDD Ţ 0x0162 LATIN CAPITAL LETTER T WITH CEDILLA 0xDE Ů 0x016E LATIN CAPITAL LETTER U WITH RING ABOVE 0xDF ▀ 0x2580 UPPER HALF BLOCK 0xE0 Ó 0x00D3 LATIN CAPITAL LETTER O WITH ACUTE 0xE1 ß 0x00DF LATIN SMALL LETTER SHARP S 0xE2 Ô 0x00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX 0xE3 Ń 0x0143 LATIN CAPITAL LETTER N WITH ACUTE 0xE4 ń 0x0144 LATIN SMALL LETTER N WITH ACUTE 0xE5 ň 0x0148 LATIN SMALL LETTER N WITH CARON 0xE6 Š 0x0160 LATIN CAPITAL LETTER S WITH CARON 0xE7 š 0x0161 LATIN SMALL LETTER S WITH CARON 0xE8 Ŕ 0x0154 LATIN CAPITAL LETTER R WITH ACUTE 0xE9 Ú 0x00DA LATIN CAPITAL LETTER U WITH ACUTE 0xEA ŕ 0x0155 LATIN SMALL LETTER R WITH ACUTE 0xEB Ű 0x0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE 0xEC ý 0x00FD LATIN SMALL LETTER Y WITH ACUTE 0xED Ý 0x00DD LATIN CAPITAL LETTER Y WITH ACUTE 0xEE ţ 0x0163 LATIN SMALL LETTER T WITH CEDILLA 0xEF ´ 0x00B4 ACUTE ACCENT 0xF0 SHY 0x00AD SOFT HYPHEN 0xF1 ˝ 0x02DD DOUBLE ACUTE ACCENT 0xF2 ˛ 0x02DB OGONEK 0xF3 ˇ 0x02C7 CARON 0xF4 ˘ 0x02D8 BREVE 0xF5 § 0x00A7 SECTION SIGN 0xF6 ÷ 0x00F7 DIVISION SIGN 0xF7 ¸ 0x00B8 CEDILLA 0xF8 ° 0x00B0 DEGREE SIGN 0xF9 ¨ 0x00A8 DIAERESIS 0xFA ˙ 0x02D9 DOT ABOVE 0xFB ű 0x0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE 0xFC Ř 0x0158 LATIN CAPITAL LETTER R WITH CARON 0xFD ř 0x0159 LATIN SMALL LETTER R WITH CARON 0xFE ■ 0x25A0 BLACK SQUARE 0xFF NBSP 0x00A0 NO-BREAK SPACE

Rozmieszczenie polskich znaków CP852 Małe litery: ą 0xA5 ł 0x88 ś 0x98 ć 0x86 ń 0xE4 ź 0xAB ę 0xA9 ó 0xA2 ż 0xBE Wielkie litery: Ą 0xA4 Ł 0x9D Ś 0x97 Ć 0x8F Ń 0xE3 Ź 0x8D Ę 0xA8 Ó 0xE0 Ż 0xBD Znaki diakrytyczne: kreska 0xEF ogonek 0xF2 kropka 0xFA

Różnice między kodowaniami MS-DOS CP852 a IBM CP852 Pozycja MS-DOS CP852 IBM CP852 Kod Unicode znaku Nazwa znaku Kod Unicode znaku Nazwa znaku 0x1A 0x001A SUBSTITUTE 0x001C FILE SEPARATOR 0x1C 0x001C FILE SEPARATOR 0x007F DELETE 0x7F 0x007F DELETE 0x001A SUBSTITUTE 0xAA 0x00AC NOT SIGN (¬) NZ

Objaśnienia: pozycje na fioletowym tle są znakami kontrolnymi NZ oznacza znak niezdefiniowany

Bibliografia Tablica kodowania CP852 na serwerze Konsorcjum Unicode Letter database: languages, character sets, names etc.

Kategoria:Strony kodowe DOS