That table is a lie though, there is no 'æ' in ASCII. They are showing the number "145", which is the code used by Windows extended character entry system, but even on Windows, that's not the code it uses: the default codepage in Windows is cp1252, which records 'æ' as 0xE6, just like iso8859-1. Since UTF-8 won the encoding wars of the mid-1990s, the only sensible way for that character to appear in a file is actually the two-byte sequence 0xC3 0xA6 (though using isupper() on that directly won't work either)