C#如何在HDF5中写入string数组呢?

我的代码:
H5FileId fileId = H5F.create(FILE_NAME, H5F.CreateMode.ACC_TRUNC);
long[] dim = new long[1];
dim[0] = NX;
H5GroupId groupId = H5G.create(fileId, "MatrerialLib");
H5DataSpaceId dspaceId = H5S.create_simple(1, dim);
H5DataTypeId dtypeId = H5T.copy(H5T.H5Type.C_S1);
H5T.setVariableSize(dtypeId);
H5DataSetId dsetId = H5D.create(groupId, "Material_Name", dtypeId, dspaceId);
H5D.write(dsetId, dtypeId, new H5Array<string>(data1));//data1是我要写入的字符串数组

在使用HDFview查看生成的HDF5文件时显示的是乱码,如何解决?
最新回答
放逐°

2024-11-22 09:22:55

H5D.write(dsetId, dtypeId, new H5Array<string>(data1));//data1是我要写入的字符串数组

data1是你的字符串..
但是字符串的定义呢?
他是什么类型?
注意转换编码.最好用UTF8..
追问
data1是字符串数组,不是字符串
string[][] data1=new string[100][10],类似于此,一个二维数组
追答
修改他的默认编码为你当前系统的默认编码