Site icon EfmSoft

What does NTSTATUS 0xC0000163 (STATUS_UNDEFINED_CHARACTER) mean?

 
Previous Next
STATUS_UNMAPPABLE_CHARACTER STATUS_FLOPPY_VOLUME

STATUS_UNDEFINED_CHARACTER

An unassigned code point is not the same as malformed Unicode

STATUS_UNDEFINED_CHARACTER describes a character not defined in the Unicode character set installed on the system. Unicode distinguishes ill-formed encoded sequences from valid code points that are unassigned. An unassigned code point can receive a character assignment in a later Unicode version, so versioned text-processing tables matter.

Do not collapse this status into STATUS_ILLEGAL_CHARACTER. First verify that the UTF-8 or UTF-16 sequence is structurally well formed. Then record the code point and the Windows/NLS context that rejected it. Unicode explicitly defines default properties for unassigned code points, but a particular Windows API or subsystem can still reject a character it does not define or support for its operation.

Version differences are especially important when data moves between newer and older systems. Windows exposes NLS version information through GetNLSVersionEx for version-sensitive capabilities. Preserve the producing system, Unicode data version when known, and exact code point before replacing it with U+FFFD; replacement hides whether the original was malformed or merely unknown to older tables.

What to inspect

References


Looking for a different code? Search another status or error code.

Exit mobile version