------- Comment #1 from pcarlini at suse dot de 2006-07-27 01:53 ------- This is a well known source of puzzlement. The point is that, according to the C++ standard, the external ("on disk") representation is in any case made of *chars*. Therefore, in general, conversions from/to that representation to an internal representation (unsigned chars, in this PR, or int, or anything else) must be carried out by an appropriate codecvt locale facet. Versions of it for pairs of <internal, external> types <char, char> and <wchar_t, char> are provided in the library, anything else must be explicitely provided by the user, because in general a mapping for <unsigned char, char> is not portable, changes from system to system (at variance, e.g., with an identity mapping for <char, char> or a standardized mapping for <wchar_t, char> such as UTF-8).
-- pcarlini at suse dot de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28507