Имя объекта
name = H5I.get_name(obj_id)
name = H5I.get_name(obj_id,'TextEncoding',encoding)
name = H5I.get_name(obj_id)
возвращает имя группы, набора данных или типа данных, заданного obj_id
. Если никакое имя не присоединено к объекту, пустой символьный вектор возвращен.
name = H5I.get_name(obj_id,'TextEncoding',encoding)
дополнительно задает текстовое кодирование, чтобы использовать, чтобы интерпретировать имя объекта. Задайте encoding
как 'system'
(значение по умолчанию) или 'UTF-8'
.
'system'
— Используйте кодирование системного значения по умолчанию, чтобы интерпретировать имя объекта.
'UTF-8'
— Используйте UTF-8
кодирование, чтобы интерпретировать имя объекта.
Отобразите имена всех объектов в /g3
группа в файле в качестве примера алфавитным порядком.
idx_type = 'H5_INDEX_NAME'; order = 'H5_ITER_INC'; fid = H5F.open('example.h5'); gid = H5G.open(fid,'/g3'); info = H5G.get_info(gid); for j = 1:info.nlinks obj_id = H5O.open_by_idx(fid,'g3',idx_type,order,j-1,'H5P_DEFAULT'); name = H5I.get_name(obj_id); fprintf('Object %d: ''%s''.\n',j-1,name); H5O.close(obj_id); end H5G.close(gid); H5F.close(fid);
Начиная в R2020a, H5I.get_name
функция только принимает фиксировавший (ранее названный named) типы данных HDF5 как входные параметры, и будет ошибка, если вы передадите другие типы данных как вход. В релизах R2019b и ранее, H5I.get_name
не делает ошибки, если вы передаете другие типы данных как вход.
Чтобы проверить, что вход является зафиксированным типом данных HDF5, вызовите H5T.committed
функция на нем. H5T.committed
функция возвращает значение 1
если вход является зафиксированным типом данных HDF5 и значением 0
если это не.