>> I cannot see why they would cause any problems that UTF-16 doesn't.
>
>Sure, but then you talk about NUL being bad. UTF-16 includes a lot of zero
>bytes (as you know) so the point is moot.
No! There is a crucial difference here:
The supposed problem with control characters in general is that the
presence of those bytes in files causes problems. I am suggesting
that UTF-16 already gives us those problems.
But the specificproblem with nul is in XML APIs. Any C API that uses
nul-terminated strings will not be able to handle nuls in those
strings. If the strings are UTF-16 strings, they are terminated by a
UTF-16 nul character, not by a single zero byte. UTF-16 characters
with zero bytes are not a problem.
-- Richard