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