Наименование объекта
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 функция принимает только зафиксированные (ранее называемые именованными) типы данных HDF5 в качестве входных аргументов и будет ошибочно при передаче других типов данных в качестве входных. В выпусках R2019b и более ранних, H5I.get_name не приводит к ошибке при передаче в качестве входных данных других типов данных.
Чтобы убедиться, что введенные данные являются фиксированным типом данных HDF5, вызовите H5T.committed функция на нем. H5T.committed функция возвращает значение 1 если вход является фиксированным типом данных HDF5 и значением 0 если это не так.