我正在处理一个文件,其endian与我的桌面不同,我需要转换它,但当我想象vtk它工作。 vtk文件的vtkreader也是端点独立的
答案 0 :(得分:1)
ParaView可以读取使用大端或小端字节排序编写的VTK文件,并尝试确定在编写给定文件时使用的格式。来自VTK File format documentation:
二进制文件。
只要您遵守两个条件,VTK中的二进制文件就可以在不同的计算机系统中移植。
首先,确保数据的字节顺序正确,其次,确保每种数据类型的长度一致。大多数情况下,VTK会为您管理二进制文件的字节顺序。当您在一台计算机上写入二进制文件并从另一台计算机读取它时,表示数据的字节将根据需要自动交换。例如,写在Sun上的二进制文件以big endian顺序存储,而PC上的二进制文件以little endian顺序存储。因此,在Sun工作站上写入的文件在PC上读取时需要进行字节交换。 (有关实现的详细信息,请参阅类
vtkByteSwap
。)此处描述的VTK数据文件以大端形式编写。
请注意,如果您使用较新的XML VTK文件格式,则可以在文件中明确指定字节顺序,例如,请参阅VTK wiki以获取有关此内容的更多信息。基本上VTKFile
元素的格式为
<VTKFile type="..." version="version" byte_order="byte-order" ...>
...rest of file...
</VTKFile>
指定的byte_order
:
可以是“LittleEndian”或“BigEndian”,并指示用于文件中任何二进制数据的字节顺序。
应该强调的是,这只是二进制数据的问题。传统的ASCII VTK文件不关心字节顺序。