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.