如何找出文件的字节顺序?

时间:2011-03-03 22:34:40

标签: matlab endianness

如何判断它是big-endian还是little-endian文件?我只是尝试用matlab编写一个big-endian文件,但可能它没有用。现在我想知道是否可以了解它是什么类型。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

通常无法知道给定的数据文件是使用big-endian还是little-endian字节格式创建的。您需要了解它的文件类型(如果它具有只使用其中一种的标准格式)或type of system the file was created on

使用FOPEN在MATLAB中打开文件时,必须使用 machineformat 输入参数指定要用于该文件的字节序格式。如果未指定格式,MATLAB将默认使用本机格式(对于在具有不同字节序格式的计算机上创建的文件,这将不正确)。 FOPEN的这种用法:

[filename, permission, machineformat] = fopen(fileID);

将简单地告诉您首先用于打开文件的endian格式,这对于给定的文件可能是也可能不正确。

答案 1 :(得分:2)

使用FOPEN

fileID = fopen(fileName)
[filename, permission, machineformat] = fopen(fileID)

第三个输出machineformat告诉您它是大端('b')还是小端('l')。