Justin Johansson wrote:
Andrei Alexandrescu Wrote:
Lars T. Kyllingstad wrote:
Nick Sabalausky wrote:
"Chris Nicholson-Sauls" <ibisbase...@gmail.com> wrote in message
news:hcctuf$140...@digitalmars.com...
Granted LTR is common enough to be expectable and acceptable. To be
perfectly honest, I don't believe I have *ever* even used
wchar/wstring. Char/string gosh yes; dchar/dstring quite a bit as
well, where I need the simplicity; but I've yet to feel much need for
the "weirdo" middle child of UTF.
Given that just about anything outside of D (at least as far as I've
seen) that attempts to use unicode does so with UTF-16 (or just uses
UCS-2 and pretends that's UTF-16...), wchar and wstring are great for
dealing with that. For instance, my Goldie engine for GOLD currently
uses wchar in a number of places because GOLD's .cfg format stores
text in...well, presumably UTF-16 (I haven't tested to see if it's
really UCS-2). But yea, as long as you're not dealing with anything
that's already in UTF-16 or that expects it, then it does seem to be
somewhat questionable.
I think this says it all:
http://en.wikipedia.org/wiki/Utf-16#Use_in_major_operating_systems_and_environments
-Lars :)
Yep, there was a frenzy when UCS-2 came about: everybody thought two
bytes will be enough for everyone. So UCS-2 was widely adopted - who
wouldn't love to have constant character width? Then, the UTF-16
surrogate business came about, and the only logical step they could take
was to migrate to UTF-16, which was upward compatible to UCS-2. I
personally think UTF-8 is a better overall design though.
Andrei
"I personally think UTF-8 is a better overall design though."
Unicode Technical Note #12 by The Unicode Consortium apparently disagree,
recommending UTF-16 for Processing.
http://unicode.org/notes/tn12/
The major claim in the TN is that Unicode is optimized for UTF-16. The rest of
the argument looks like a VHS (everyone is using it i.e. UTF-16) versus Beta
argument.
So who's right? My personal view is that whilst they are the *Unicode
Consortium*,
I have great difficulty in accepting UTF-16 as the one-and-holy encoding.
FWIW, there was a subthread during a discussion about the ordained features of
programming languages on LtU a while back.
http://lambda-the-ultimate.org/node/3166#comment-46233
What Are The Resolved Debates in General Purpose Language Design?
Its a long discussion so easier to search for UTF or Unicode on the page if
you're interested.
cheers
Justin Johansson
Thanks for the pointers. One of the reasons for which I like the design
of UTF-8 is its generality: it's a variable-length code for any number
of 31 bits. In contrast, UTF-16 is a relies on specific dead zones
inside the assigned space. But the authors of the unicode.org article do
make a few good points, such as there not being any invalid UTF-16
symbol. But then that actually can be seen as a strength of UTF-8 - the
binary files that are actually UTF-8 files are statistically so scarce,
UTF-8 has a very solid method of checking whether a file is UTF-8 or
something else.
Andrei