------- 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

Reply via email to