I found the C standard (C99 and C11) vague with respect to character/string code positions and encoding rules:
Firstly the standard defines the source characte
the source characte
C is not greedy about character sets. There's no such thing as "default character set", it's implementation defined - although it's mostly ASCII or UTF-8 on most modern systems.