如何确定NifTi文件的字节序
How do I determine the endianness of a NifTi file?
我有一个NifTi文件,当我加载它时,值奇怪地分散在int_32的范围内。但是,当我通过NifTi Python绑定加载同一个文件时,值范围是不同的并且是正确的。(我知道这是正确的,因为文件(FSL)的生产者声称只产生该范围内的值。)因此,我想检查这些值是否真的存储在不同的endianness中(与其他文件相比),如果是,那么就正确地解释这些值。
您可以使用nifti_1_header
结构中的第一个字段。它是sizeof_hdr
,它包含头的大小(在我的情况下是一个348字节的结构,而不是三个较小的结构)。
只需读取头的前4个字节,它就应该是348
(别名0x0000015C
),如果它是用big-endian写的,那么你就会得到0x5C010000
(所以在磁盘上,你会为little-endian读取5C 01 00 00
,为big-endi安读取00 00 01 5C
)。
相关文章:
- 在UNIX系统中使用DIR查找文件的字节大小
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 如何在文件中查找字节序列
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 如何使用 fprintf 将连续的 512 字节保存到文件中
- 用于 progmem 的C++和头文件压缩的 Web 文件字节数组
- 为什么未关闭的文件大小为 4 字节
- 我能确定从文件中读取的 32 字节二进制数据等于 256 位吗?
- Ascii .txt文件到字节数组 - C++
- 多部分/表单数据丢失大文件的字节
- 我该如何循环遍历我的数组(缓冲区——包含一个文本文件),并将其打印成30字节的块
- 程序错误地读取了二进制文件的一个字节
- 如何从 C 或 C++ 格式的文件中删除字节?
- C++ - 将任何文件的字节读取到无符号字符数组中
- ofstream将额外的零字节写入Unix服务器上的文件
- 传输文件一次又一次地发送相同的字节
- 编码大于原始文本:如何获取零和一的字符串并将它们作为实际字节写入文件
- 查找二进制文件中字节序列的所有匹配项
- C++ 使用单个输入字节文件的不同部分实例化堆栈上的成员类