How are variable length strings stored

Hello Everyone,

If I have a compound type's made up of primitives

  STD_I32LE
  IEEE_F64LE
  ...

then Hdf5 will store this as a plain old data type with everything
next to each other in a fixed, predictable way. I have also found
this to be true for fixed length strings. How does Hdf5 handle
variable length strings? Does it put it inline, or is there a heap
somewhere else? Is there any documentation about what the heap looks
like?

Thanks,
Walter Landry

Walt, variable length data is stored in the global heap. See sections
IV.B. Disk Format: Level 2B - Data Object Data Storage
and III.E. Disk Format: Level 1E - Global Heap
of the file format spec. (https://www.hdfgroup.org/HDF5/doc/H5.format.html\)

Best, G.

···

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of Walter Landry
Sent: Monday, March 7, 2016 3:02 AM
To: hdf-forum@lists.hdfgroup.org
Subject: [Hdf-forum] How are variable length strings stored

Hello Everyone,

If I have a compound type's made up of primitives

  STD_I32LE
  IEEE_F64LE
  ...

then Hdf5 will store this as a plain old data type with everything next to each other in a fixed, predictable way. I have also found this to be true for fixed length strings. How does Hdf5 handle variable length strings? Does it put it inline, or is there a heap somewhere else? Is there any documentation about what the heap looks like?

Thanks,
Walter Landry

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Thanks. That is exactly what I needed.

Cheers,
Walter Landry

···

Gerd Heber <gheber@hdfgroup.org> wrote:

Walt, variable length data is stored in the global heap. See sections
IV.B. Disk Format: Level 2B - Data Object Data Storage
and III.E. Disk Format: Level 1E - Global Heap
of the file format spec. (https://www.hdfgroup.org/HDF5/doc/H5.format.html)