如何确定NifTi文件的字节顺序?

时间:2012-07-18 07:39:07

标签: c++ file-format endianness

我有一个NifTi文件,当我加载它时,值奇怪地分散在int_32的范围内。但是,当我通过NifTi-Python绑定加载相同的文件时,值范围是不同的和正确的。 (我知道这是正确的,因为文件的生成者(FSL)声称只生成该范围内的值。)所以我想检查这些值是否真的存储在不同的字节序中(与其他文件相比),如果是这样,那么正确解释这些值。

1 个答案:

答案 0 :(得分:3)

您可以使用nifti_1_header结构中的第一个字段。它是sizeof_hdr并且它包含标题的大小(在我的例子中是一个348字节结构而不是三个较小的结构)。

只需读取标题的前4个字节,它应该是348(别名0x0000015C),如果它是用大端编写的,那么你将拥有0x5C010000(所以在磁盘上你会看到小端的5C 01 00 00和大端的00 00 01 5C