Am 26.04.2011 um 15:34 schrieb Quincey Koziol:

Hi all,

On Apr 26, 2011, at 6:12 AM, Kraus Philipp wrote:


Am 26.04.2011 um 12:52 schrieb Jens Thoms Toerring:
It seems that my code create 2 bytes for the ä, ö, ü, ß and Matlab 1 byte. Can I switch the encoding in the HDF5 file or can I use unicode or anything
else?

Don't know if you can get MatLab to use UTF-8, concerning the
HDF5 file the question is how it is written. The program it's
written by seems to use UTF-8. Can you change that? If this
is a test program with the 'äöüß' hard-coded into it you just
may have to get your editor to use ISO-8859-1. Writing to the
HDF5 file isn't the point, it just contains what you told it
to, the problem is passing in the values you want it to con-
tain.

I've tested the code with ISO-8859-1 (change my source code, because the chars are hardcoded), than the encoding is correct (C++ & Matlab). But my problem I read XML data with utf-8 encoding (some cyrillic chars, etc). I would like to write them to the HDF and read them into Matlab. Do you have any idea with a correct encoding?

If I read / write the char data in my code, I can set the correct encoding representation, but is there an option for saving the encoding into the file, because only the char code isn't unique. I can set utf-8, utf-8, ASCII, etc

Would the H5Tset_cset() routine (http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-SetCset ) help out here?

Thanks, but if I use this call:

H5::StrType l_str(0, p_strlen+1);
l_str.setCset( H5T_CSET_UTF8 );

the dump of a file shows:
      DATATYPE  H5T_STRING {
            STRSIZE 29;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_ASCII;
            CTYPE H5T_C_S1;
         }

No exception is thrown or something else. It seems, that the string object does not set the H5T_CSET_UTF8

Phil
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to