Имя объекта
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 функции на нем. The H5T.committed функция возвращает значение 1 если вход является фиксированным HDF5 типом данных и значением 0 если нет.