Re: What's in a wchar_t string on unix?

From: Frank Yung-Fong Tang (ytang0648@aol.com)
Date: Wed Mar 03 2004 - 17:00:27 EST

  • Next message: Peter Kirk: "Re: What's in a wchar_t string on unix?"

    Clark Cox wrote on 3/3/2004, 4:33 PM:
    [I swap the reply order to make my new question clearer]
    > >
    > > And what does the year and month mean?
    >
    > It indicates which version of ISO10646 is used by the implementation.
    > In the above example, it indicates whatever version was in effect in
    > December of 1997.
    "It indicates which version of ISO10646 is used by the implementation."
    hum... what text in the standard make you believe that is the case?
    (I am not against it, just have not seen any standard text clearly show
    that yet.)

    > > The language in the standard does not prevent someone to make it 16
    > > bits or 64 bits when that macro is defined, right?
    >
    > Not explicitly, but as I read it, when that macro is defined, wchar_t
    > would have to be at least 20-bits, or else it couldn't be true that
    > "values of type wchar_t are the coded representations of the characters
    > defined by ISO/IEC10646". That is, I would think that wchar_t would
    > have to be able to represent values in the range [0, 0x10FFFF]. But my
    > interpretation could be off, which is why I recommended asking on
    > comp.std.c.

    hum... if it is defined as 199712, then what does it mean ? Unicode 2.0
    ? (Unicode 2.0 frist print July 1996)? Unicode 2.1 ? (1998 by UTR#8)
    Unicode 3.0? (2000). None of these define any "coded representations of
    characters defined" >= U+10000, right? Therefore, there no reason for a
    implementation which defined it as 199712 have to make the size of
    wchar_t > 16 bits, right?



    This archive was generated by hypermail 2.1.5 : Wed Mar 03 2004 - 17:29:35 EST