Uppercase Z with caronUppercase A with umlaut
ASCII 142 is Ž on Windows and Ä in old DOS.
Ž (Capital Z with Caron) is byte 142 in Windows-1252, Unicode U+017D. The caron gives it a zh sound, like the s in measure, in Czech, Slovak, Slovenian, Croatian and the Baltic languages: Žilina, Žalgiris. Watch the HTML entity. Ž is valid HTML5 but wasn't in the HTML 4 entity list, even though Š was, so older parsers and tools built on that list leave it as literal text. The numeric Ž works everywhere. In UTF-8 it's C5 BD, which misreads as Ž. Lowercase ž is byte 158.
Ä (Capital A with Umlaut) is byte 142 in code page 437, the original IBM PC character set, and maps to Unicode U+00C4. Windows-1252 has Ž at 142, so German DOS text read as Windows-1252 turns Ärger into Žrger. Code page 850 kept Ä at 142 too. Old DOS code that changes case with arithmetic breaks here. In ASCII, capital and small letters sit 32 apart, but in code page 437 small ä is 132 and Ä is 142, so subtracting 32 from ä gives 100, a plain d.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 142 is Ž.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u017D\n"); /* UTF-8: C5 BD */unsigned char b = 142; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 142 0x8E */return 0;}
#include <stdio.h>int main(void) {/* Byte 142 is Ä only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0x8E is invalid and prints as garbage, often �. */putchar(142);/* char is signed on x86, so a plain char holding 0x8E is -114.Use unsigned char when you compare or index by byte value. */char c = (char)142;unsigned char u = 142;printf("\n%d %d\n", c, u); /* -114 142 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u00C4\n"); /* C3 84 */return 0;}
Ä is also ASCII 196 on Windows, which has the full guide.
No. Polish uses Ż with a dot and Ź with an acute, but never Ž, which belongs to Czech, Slovak, Croatian and the Baltic languages. Windows-1252 has Ž and no Ż, so Polish text squeezed into it sometimes comes out with the caron version, which Polish readers see as a misspelling. Windows-1250 and UTF-8 both have Ż.
They're capital Ä. Code pages 437 and 850 store Ä as byte 142, and Windows-1252 has Ž there, so ähnlich written with a capital arrives as Žhnlich. Lowercase ä breaks too, into „, so a German file with both scattered through it is DOS text from start to finish. When it's a CSV, bring it into Excel through the text import and set the file origin to code page 850.
They're capital Ä. Code pages 437 and 850 store Ä as byte 142, and Windows-1252 has Ž there, so ähnlich written with a capital arrives as Žhnlich. Lowercase ä breaks too, into „, so a German file with both scattered through it is DOS text from start to finish. When it's a CSV, bring it into Excel through the text import and set the file origin to code page 850.