* Bint:
No, unfortunately not, if you're talking /support/ for Unicode, except
that characters can be denoted via their Unicode character codes.
Yes.
You will need to decide on what to do about non-ASCII characters.
However, in practice, if the Unicode data is in the Basic Multilingual
Plane (original 16-bit Unicode), then all you need to do technically is
to check that most significant byte is zero, then retain only the least
significant byte, because ASCII is a subset of Unicode. And in
practice, I think you can do that via narrow() in the standard library.
Read documentation.