CP437 – 8-bitowe kodowanie znaków stosowane w systemach operacyjnych MS-DOS, PC-DOS, DR-DOS i FreeDOS. Od czasu rozpowszechnienia się systemów operacyjnych Windows 3.x, a zwłaszcza Windows 95 i Windows NT 4.0, wykorzystujących kodowanie Windows-1252 i (w różnym stopniu) unikod, znaczenie kodowania CP437 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.

Zestaw znaków CP437 wygenerowany przez IBM PC

Historia

edytuj

Strona kodowa CP437 po raz pierwszy była użyta w pierwszej wersji systemu operacyjnego MS-DOS (1.0), wypuszczonego na rynek jako system operacyjny komputera domowego IBM PC, którego premiera miała miejsce 12 sierpnia 1981 r.

Zestaw znaków

edytuj

Kodowanie CP437 zostało zaprojektowane z myślą o użyciu na rynku amerykańskim, i choć zawiera 33 litery ze znakami diakrytycznymi, ich dobór robi wrażenie przypadkowego. Zestaw w całości pokrywa (oprócz rzecz jasna języka angielskiego) jedynie język niemiecki (znak 0xE1 pełni podwójną funkcję, i mimo położenia wśród liter greckich mapowany jest na unikod jako niemiecka litera „ostre s”).

Kody 0x00–0x1F oraz 0x7F mają podwójną funkcję: mogą pełnić rolę znaków sterujących, ale również mogą reprezentować znaki graficzne.

Braki znaków

edytuj

Kodowanie to nie zawiera znaków cudzysłowów stosowanych w typografii języka angielskiego ani niemieckiego.

Tablica kodów

edytuj
CP437
   x0    x1    x2    x3    x4    x5    x6    x7    x8    x9    xA    xB    xC    xD    xE    xF  
0xNULL
1x§
2xSP!"#$%&'()*+,-./
3x0123456789:;<=>?
4x@ABCDEFGHIJKLMNO
5xPQRSTUVWXYZ[\]^_
6x`abcdefghijklmno
7xpqrstuvwxyz{|}~
8xÇüéâäàåçêëèïîìÄÅ
9xÉæÆôöòûùÿÖÜ¢£¥ƒ
AxáíóúñѪº¿¬½¼¡«»
Bx
Cx
Dx
ExαßΓπΣσµτΦΘΩδφε
Fx±÷°·²NBSP

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

Mapowanie na unikod

edytuj

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

CP437
CP437ZnakUnicodeNazwa znaku
0x80Ç0x00C7LATIN CAPITAL LETTER C WITH CEDILLA
0x81ü0x00FCLATIN SMALL LETTER U WITH DIAERESIS
0x82é0x00E9LATIN SMALL LETTER E WITH ACUTE
0x83â0x00E2LATIN SMALL LETTER A WITH CIRCUMFLEX
0x84ä0x00E4LATIN SMALL LETTER A WITH DIAERESIS
0x85à0x00E0LATIN SMALL LETTER A WITH GRAVE
0x86å0x00E5LATIN SMALL LETTER A WITH RING ABOVE
0x87ç0x00E7LATIN SMALL LETTER C WITH CEDILLA
0x88ê0x00EALATIN SMALL LETTER E WITH CIRCUMFLEX
0x89ë0x00EBLATIN SMALL LETTER E WITH DIAERESIS
0x8Aè0x00E8LATIN SMALL LETTER E WITH GRAVE
0x8Bï0x00EFLATIN SMALL LETTER I WITH DIAERESIS
0x8Cî0x00EELATIN SMALL LETTER I WITH CIRCUMFLEX
0x8Dì0x00ECLATIN SMALL LETTER I WITH GRAVE
0x8EÄ0x00C4LATIN CAPITAL LETTER A WITH DIAERESIS
0x8FÅ0x00C5LATIN CAPITAL LETTER A WITH RING ABOVE
0x90É0x00C9LATIN CAPITAL LETTER E WITH ACUTE
0x91æ0x00E6LATIN SMALL LIGATURE AE
0x92Æ0x00C6LATIN CAPITAL LIGATURE AE
0x93ô0x00F4LATIN SMALL LETTER O WITH CIRCUMFLEX
0x94ö0x00F6LATIN SMALL LETTER O WITH DIAERESIS
0x95ò0x00F2LATIN SMALL LETTER O WITH GRAVE
0x96û0x00FBLATIN SMALL LETTER U WITH CIRCUMFLEX
0x97ù0x00F9LATIN SMALL LETTER U WITH GRAVE
0x98ÿ0x00FFLATIN SMALL LETTER Y WITH DIAERESIS
0x99Ö0x00D6LATIN CAPITAL LETTER O WITH DIAERESIS
0x9AÜ0x00DCLATIN CAPITAL LETTER U WITH DIAERESIS
0x9B¢0x00A2CENT SIGN
0x9C£0x00A3POUND SIGN
0x9D¥0x00A5YEN SIGN
0x9E0x20A7PESETA SIGN
0x9Fƒ0x0192LATIN SMALL LETTER F WITH HOOK
0xA0á0x00E1LATIN SMALL LETTER A WITH ACUTE
0xA1í0x00EDLATIN SMALL LETTER I WITH ACUTE
0xA2ó0x00F3LATIN SMALL LETTER O WITH ACUTE
0xA3ú0x00FALATIN SMALL LETTER U WITH ACUTE
0xA4ñ0x00F1LATIN SMALL LETTER N WITH TILDE
0xA5Ñ0x00D1LATIN CAPITAL LETTER N WITH TILDE
0xA6ª0x00AAFEMININE ORDINAL INDICATOR
0xA7º0x00BAMASCULINE ORDINAL INDICATOR
0xA8¿0x00BFINVERTED QUESTION MARK
0xA90x2310REVERSED NOT SIGN
0xAA¬0x00ACNOT SIGN
0xAB½0x00BDVULGAR FRACTION ONE HALF
0xAC¼0x00BCVULGAR FRACTION ONE QUARTER
0xAD¡0x00A1INVERTED EXCLAMATION MARK
0xAE«0x00ABLEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0xAF»0x00BBRIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
0xB00x2591LIGHT SHADE
0xB10x2592MEDIUM SHADE
0xB20x2593DARK SHADE
0xB30x2502BOX DRAWINGS LIGHT VERTICAL
0xB40x2524BOX DRAWINGS LIGHT VERTICAL AND LEFT
0xB50x2561BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
0xB60x2562BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
0xB70x2556BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
0xB80x2555BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
0xB90x2563BOX DRAWINGS DOUBLE VERTICAL AND LEFT
0xBA0x2551BOX DRAWINGS DOUBLE VERTICAL
0xBB0x2557BOX DRAWINGS DOUBLE DOWN AND LEFT
0xBC0x255DBOX DRAWINGS DOUBLE UP AND LEFT
0xBD0x255CBOX DRAWINGS UP DOUBLE AND LEFT SINGLE
0xBE0x255BBOX DRAWINGS UP SINGLE AND LEFT DOUBLE
0xBF0x2510BOX DRAWINGS LIGHT DOWN AND LEFT
0xC00x2514BOX DRAWINGS LIGHT UP AND RIGHT
0xC10x2534BOX DRAWINGS LIGHT UP AND HORIZONTAL
0xC20x252CBOX DRAWINGS LIGHT DOWN AND HORIZONTAL
0xC30x251CBOX DRAWINGS LIGHT VERTICAL AND RIGHT
0xC40x2500BOX DRAWINGS LIGHT HORIZONTAL
0xC50x253CBOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
0xC60x255EBOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
0xC70x255FBOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
0xC80x255ABOX DRAWINGS DOUBLE UP AND RIGHT
0xC90x2554BOX DRAWINGS DOUBLE DOWN AND RIGHT
0xCA0x2569BOX DRAWINGS DOUBLE UP AND HORIZONTAL
0xCB0x2566BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
0xCC0x2560BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
0xCD0x2550BOX DRAWINGS DOUBLE HORIZONTAL
0xCE0x256CBOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
0xCF0x2567BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
0xD00x2568BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
0xD10x2564BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
0xD20x2565BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
0xD30x2559BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
0xD40x2558BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
0xD50x2552BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
0xD60x2553BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
0xD70x256BBOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
0xD80x256ABOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
0xD90x2518BOX DRAWINGS LIGHT UP AND LEFT
0xDA0x250CBOX DRAWINGS LIGHT DOWN AND RIGHT
0xDB0x2588FULL BLOCK
0xDC0x2584LOWER HALF BLOCK
0xDD0x258CLEFT HALF BLOCK
0xDE0x2590RIGHT HALF BLOCK
0xDF0x2580UPPER HALF BLOCK
0xE0α0x03B1GREEK SMALL LETTER ALPHA
0xE1ß0x00DFLATIN SMALL LETTER SHARP S
0xE2Γ0x0393GREEK CAPITAL LETTER GAMMA
0xE3π0x03C0GREEK SMALL LETTER PI
0xE4Σ0x03A3GREEK CAPITAL LETTER SIGMA
0xE5σ0x03C3GREEK SMALL LETTER SIGMA
0xE6µ0x00B5MICRO SIGN
0xE7τ0x03C4GREEK SMALL LETTER TAU
0xE8Φ0x03A6GREEK CAPITAL LETTER PHI
0xE9Θ0x0398GREEK CAPITAL LETTER THETA
0xEAΩ0x03A9GREEK CAPITAL LETTER OMEGA
0xEBδ0x03B4GREEK SMALL LETTER DELTA
0xEC0x221EINFINITY
0xEDφ0x03C6GREEK SMALL LETTER PHI
0xEEε0x03B5GREEK SMALL LETTER EPSILON
0xEF0x2229INTERSECTION
0xF00x2261IDENTICAL TO
0xF1±0x00B1PLUS-MINUS SIGN
0xF20x2265GREATER-THAN OR EQUAL TO
0xF30x2264LESS-THAN OR EQUAL TO
0xF40x2320TOP HALF INTEGRAL
0xF50x2321BOTTOM HALF INTEGRAL
0xF6÷0x00F7DIVISION SIGN
0xF70x2248ALMOST EQUAL TO
0xF8°0x00B0DEGREE SIGN
0xF90x2219BULLET OPERATOR
0xFA·0x00B7MIDDLE DOT
0xFB0x221ASQUARE ROOT
0xFC0x207FSUPERSCRIPT LATIN SMALL LETTER N
0xFD²0x00B2SUPERSCRIPT TWO
0xFE0x25A0BLACK SQUARE
0xFFNBSP0x00A0NO-BREAK SPACE

Różnice między kodowaniami MS-DOS CP437 a IBM CP437

edytuj
PozycjaMS-DOS CP437IBM CP437
Kod Unicode znakuNazwa znakuKod Unicode znakuNazwa znaku
0x1A0x001ASUBSTITUTE0x001CFILE SEPARATOR
0x1C0x001CFILE SEPARATOR0x007FDELETE
0x7F0x007FDELETE0x001ASUBSTITUTE
0xE60x00B5MICRO SIGN (µ)0x03BCGREEK SMALL LETTER MU (μ)

Objaśnienia:

Bibliografia

edytuj
🔥 Top keywords: