title: Behavior of extended bytes/characters in C/POSIX locale
body: <p>C and POSIX both require only a very limited set of characters be present in the C/POSIX locale, but allow additional characters to exist. This leaves a great deal of freedom to the implementation; for instance, supporting all of Unicode (as UTF-8) in the C locale is conforming behavior. However, most historical implementations treat the C locale as having an "8-bit-clean" single-byte character encoding, either ISO-8859-1 (Latin-1) or a sort of "abstract 8-bit character set" where the non-ASCII bytes are abstract characters with no particular identity. (However, in the latter case, if the compiler defines <code>__STDC_ISO_10646__</code>, they normatively correspond to Unicode characters, usually the Latin-1 range.)</p>
  
  <p>Another conforming option that seems much less popular is to treat all non-ASCII bytes as non-characters, i.e. respond to them with an <code>EILSEQ</code> error.</p>
  
  <p>What I'm interested in knowing is whether there are implementations which take this or any other unusual options in implementing the C locale. Are there implementations where attempting to convert "high bytes" in the C locale results in <code>EILSEQ</code> or anything other than treating them as (abstract or Latin-1) single-byte characters or UTF-8?</p>