Why ElementType!(char[3]) == dchar instead of char?

drug via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Sep 2 01:47:11 PDT 2015


On 02.09.2015 11:30, FreeSlave wrote:
>> I see, thanks. So I should always treat char[] as UTF in D itself, but
>> because I need to pass char[], wchar[] or dchar[] to a C library I
>> should treat it as not UTF but ubytes sequence or ushort or uint
>> sequence - just to pass it correctly, right?
>
> You should just keep in mind that strings returned by Phobos are UTF
> encoded. Does your C library have UTF support? Is it relevant at all?
> Maybe it just treats char array as binary data. But if it does some
> non-trivial string and character manipulations or talks to file system,
> then it surely should expect strings in some specific encoding, and if
> it's not UTF, you should re-encode data before passing from D to this
> library.
>
> Also C does not have wchar and dchar, but has wchar_t which size is not
> fixed and depends on particular platform.
Well, I think it's not simple question. The C library I used is hdf5 lib 
and it stores data without processing. In general. In particular I need 
to evalutate a situation concretely, I guess.
Thanks all for anwers.


More information about the Digitalmars-d-learn mailing list