05-27-2021 02:06 AM
Hello,
As a bit of a fun project I'm writing a TDMS file reading library in Rust. I have a question about the endianess parameter. The spec associates endianess on a per-segment basis. Which implies that within a single file that contains multiple segments for whatever reason (starting and stopping logs?) it may be possible for the data associated with a channel to be encoded as little-endian in one segment and big-endian in another. Is this the correct interpretation?
If so this is something I need to design my library to handle.
Thanks in advance!
Alex
05-27-2021 03:15 AM - edited 05-27-2021 03:16 AM
If the spec says so I think you should plan for it. In reality it is probably not that important as a specific TDMS file is usually always generated by the same application, using its default endianness which depends on the used CPU architecture. It’s very unlikely to see TDMS files that got appended to from different writers on different platforms but according to the spec nevertheless possible!