CP850

Z Wikipedii, wolnej encyklopedii

CP850 (Code page 850, CP 850, OEM 850, DOS Latin-1, Multilingual Latin 1) – 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 Zachodniej opartych o alfabet łaciński. Tworząc to kodowanie dalece zmodyfikowano stronę kodową CP437, zastępując wszystkie istniejące w CP437 litery greckie oraz niektóre znaki semigrafiki i symbole matematyczne literami ze znakami diakrytycznymi. 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 CP850 zaczęło bardzo szybko maleć, choć nadal jest ono wykorzystywane w aplikacjach pisanych dla systemu operacyjnego DOS lub nie posiadających interfejsu graficznego (przeznaczonych do uruchamiania w oknie DOS względnie oknie konsoli), w tym programach księgowych, magazynowych itp.

Historia[edytuj | edytuj kod]

Strona kodowa CP850 po raz pierwszy pojawiła się w systemie MS-DOS w wersji 2.1, wydanej w październiku 1983 r.

W związku z wprowadzeniem Euro, IBM przeprowadził modyfikację strony kodowej CP850 umieszczając w niej znak € na pozycji 0xD5. Tak zmodyfikowana strona kodowa otrzymała nazwę CP858 i jest traktowana jako osobna strona kodowa, a nie wersja strony CP850.

Zestaw znaków[edytuj | edytuj kod]

Kodowanie CP850 zawiera litery ze znakami diakrytycznymi używane w następujących językach: afrikaans (patrz poniżej), baskijskim, bretońskim, czamorro, duńskim, farerskim, fryzyjskim, galicyjskim, guarani, hiszpańskim, niderlandzkim, indonezyjskim, irlandzki, islandzkim, japskim, katalońskim, luksemburskim, niemieckim, norweskim, portugalskim, prowansalskim, romansz, szwedzkim, szkockim (gaelickim), tagalog, tswana, walońskim i włoskim. Zawiera również małe litery ze znakami diakrytycznymi używane w języku francuskim (patrz poniżej). Jeżeli chodzi o obsługę języka angielskiego, to kodowanie CP850 stoi na równi z kodowaniem CP437.

Braki znaków[edytuj | edytuj kod]

Kodowanie CP850 nie zawiera cudzysłowów używanych w typografii języków obsługiwanych przez to kodowanie. Brak również jednego znaku używanego sporadycznie w języku afrikaans: ʼn (0x0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE), jest on zwykle pisany jako dwuznak ('n).

W języku francuskim używanym we Francji istnieje zwyczaj, by w wielkich literach pomijać znaki diakrytyczne. Strona kodowa CP850 może być użyta do zakodowania języka francuskiego pisanego zgodnie z tym zwyczajem. Z myślą o języku francuskim przygotowano stronę kodową CP863, zawierającą wszystkie wielkie i małe litery z diakrytykami używane w tym języku.

Tablica kodów[edytuj | edytuj kod]

CP850
  x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x Znaki kontrolne
1x
2x SP ! " # $ % & ' ( ) * + , - . /
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 { | } ~ ZK
8x Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9x É æ Æ ô ö ò û ù ÿ Ö Ü ø £ Ø × ƒ
Ax á í ó ú ñ Ñ ª º ¿ ® ¬ ½ ¼ ¡ « »
Bx Á Â À © ¢ ¥
Cx ã Ã ¤
Dx ð Ð Ê Ë È ı Í Î Ù ¦ Ì
Ex Ó ß Ô Ò õ Õ µ þ Þ Ú Û Ù ý Ý ¯ ´
Fx SHY ± ¾ § ÷ ¸ ° ¨ · ¹ ³ ² NBSP

ZK oznacza znak kontrolny

Mapowanie na unikod[edytuj | edytuj kod]

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

CP850
CP850 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 à 0x00E0 LATIN SMALL LETTER A WITH GRAVE
0x86 å 0x00E5 LATIN SMALL LETTER A WITH RING ABOVE
0x87 ç 0x00E7 LATIN SMALL LETTER C WITH CEDILLA
0x88 ê 0x00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
0x89 ë 0x00EB LATIN SMALL LETTER E WITH DIAERESIS
0x8A è 0x00E8 LATIN SMALL LETTER E WITH GRAVE
0x8B ï 0x00EF LATIN SMALL LETTER I WITH DIAERESIS
0x8C î 0x00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
0x8D ì 0x00EC LATIN SMALL LETTER I WITH GRAVE
0x8E Ä 0x00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
0x8F Å 0x00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
0x90 É 0x00C9 LATIN CAPITAL LETTER E WITH ACUTE
0x91 æ 0x00E6 LATIN SMALL LIGATURE AE
0x92 Æ 0x00C6 LATIN CAPITAL LIGATURE AE
0x93 ô 0x00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
0x94 ö 0x00F6 LATIN SMALL LETTER O WITH DIAERESIS
0x95 ò 0x00F2 LATIN SMALL LETTER O WITH GRAVE
0x96 û 0x00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
0x97 ù 0x00F9 LATIN SMALL LETTER U WITH GRAVE
0x98 ÿ 0x00FF LATIN SMALL LETTER Y WITH DIAERESIS
0x99 Ö 0x00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
0x9A Ü 0x00DC LATIN CAPITAL LETTER U WITH DIAERESIS
0x9B ø 0x00F8 LATIN SMALL LETTER O WITH STROKE
0x9C £ 0x00A3 POUND SIGN
0x9D Ø 0x00D8 LATIN CAPITAL LETTER O WITH STROKE
0x9E × 0x00D7 MULTIPLICATION SIGN
0x9F ƒ 0x0192 LATIN SMALL LETTER F WITH HOOK
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 ñ 0x00F1 LATIN SMALL LETTER N WITH TILDE
0xA5 Ñ 0x00D1 LATIN CAPITAL LETTER N WITH TILDE
0xA6 ª 0x00AA FEMININE ORDINAL INDICATOR
0xA7 º 0x00BA MASCULINE ORDINAL INDICATOR
0xA8 ¿ 0x00BF INVERTED QUESTION MARK
0xA9 ® 0x00AE REGISTERED SIGN
0xAA ¬ 0x00AC NOT SIGN
0xAB ½ 0x00BD VULGAR FRACTION ONE HALF
0xAC ¼ 0x00BC VULGAR FRACTION ONE QUARTER
0xAD ¡ 0x00A1 INVERTED EXCLAMATION MARK
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 À 0x00C0 LATIN CAPITAL LETTER A WITH GRAVE
0xB8 © 0x00A9 COPYRIGHT SIGN
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 ¢ 0x00A2 CENT SIGN
0xBE ¥ 0x00A5 YEN SIGN
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 ã 0x00E3 LATIN SMALL LETTER A WITH TILDE
0xC7 Ã 0x00C3 LATIN CAPITAL LETTER A WITH TILDE
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 ð 0x00F0 LATIN SMALL LETTER ETH
0xD1 Ð 0x00D0 LATIN CAPITAL LETTER ETH
0xD2 Ê 0x00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
0xD3 Ë 0x00CB LATIN CAPITAL LETTER E WITH DIAERESIS
0xD4 È 0x00C8 LATIN CAPITAL LETTER E WITH GRAVE
0xD5 ı 0x0131 LATIN SMALL LETTER DOTLESS I
0xD6 Í 0x00CD LATIN CAPITAL LETTER I WITH ACUTE
0xD7 Î 0x00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
0xD8 Ù 0x00CF LATIN CAPITAL LETTER I WITH DIAERESIS
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 ¦ 0x00A6 BROKEN BAR
0xDE Ì 0x00CC LATIN CAPITAL LETTER I WITH GRAVE
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 Ò 0x00D2 LATIN CAPITAL LETTER O WITH GRAVE
0xE4 õ 0x00F5 LATIN SMALL LETTER O WITH TILDE
0xE5 Õ 0x00D5 LATIN CAPITAL LETTER O WITH TILDE
0xE6 µ 0x00B5 MICRO SIGN
0xE7 þ 0x00FE LATIN SMALL LETTER THORN
0xE8 Þ 0x00DE LATIN CAPITAL LETTER THORN
0xE9 Ú 0x00DA LATIN CAPITAL LETTER U WITH ACUTE
0xEA Û 0x00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
0xEB Ù 0x00D9 LATIN CAPITAL LETTER U WITH GRAVE
0xEC ý 0x00FD LATIN SMALL LETTER Y WITH ACUTE
0xED Ý 0x00DD LATIN CAPITAL LETTER Y WITH ACUTE
0xEE ¯ 0x00AF MACRON
0xEF ´ 0x00B4 ACUTE ACCENT
0xF0 SHY 0x00AD SOFT HYPHEN
0xF1 ± 0x00B1 PLUS-MINUS SIGN
0xF2 0x2017 DOUBLE LOW LINE
0xF3 ¾ 0x00BE VULGAR FRACTION THREE QUARTERS
0xF4 0x00B6 PILCROW SIGN
0xF5 § 0x00A7 SECTION SIGN
0xF6 ÷ 0x00F7 DIVISION SIGN
0xF7 ¸ 0x00B8 CEDILLA
0xF8 ° 0x00B0 DEGREE SIGN
0xF9 ¨ 0x00A8 DIAERESIS
0xFA · 0x00B7 MIDDLE DOT
0xFB ¹ 0x00B9 SUPERSCRIPT ONE
0xFC ³ 0x00B3 SUPERSCRIPT THREE
0xFD ² 0x00B2 SUPERSCRIPT TWO
0xFE 0x25A0 BLACK SQUARE
0xFF NBSP 0x00A0 NO-BREAK SPACE

Bibliografia[edytuj | edytuj kod]