Frank Benoit wrote:
M$ and Java have chosen to use utf16 as their default Unicode character
encoding. I am sure, the decision was not made without good reasoning.

What are their arguments?
Why does D propagate utf8 as the default?

Unicode did not match ISO10646 when Java and Windows standardized on UTF-16. At the time, the choices were UTF-8 and UTF-16. UTF-16 made internationalization easier than UTF-8 with a relatively small overhead.

As for UTF-8 being the default in D, that's a library issue. I think Tango uses templates and overloads to allow you to use char[], wchar[], and dchar[] most of the time.

E.g.
Exception.msg
Object.toString()

Object.toString and Exception.msg are meant to be used for debug output.

new std.stream.File( char[] )

It should not be too hard to fix this; you can write a bug report asking for overloads.

Reply via email to