CP850
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 na alfabecie łacińskim. 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
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
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
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
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
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
- Tablica kodowania CP850 na serwerze Konsorcjum Unicode (ang.)
- Letter database: languages, character sets, names etc (ang.)