【发布时间】:2011-02-06 08:08:58
【问题描述】:
是否可以使用 Perl 查找我的系统是小端字节序还是大端字节序?
【问题讨论】:
标签: perl endianness
是否可以使用 Perl 查找我的系统是小端字节序还是大端字节序?
【问题讨论】:
标签: perl endianness
perl -MConfig -e 'print "$Config{byteorder}\n";'
如果输出字符串的第一个字节是 1,您可以假设(适度安全)它是 little-endian。如果是 4 或 8,你可以假设 big-endian。
【讨论】:
我猜你可以这样做:
$big_endian = pack("L", 1) eq pack("N", 1);
如果您的系统具有非标准(既不是大端也不是小端)字节顺序(例如 PDP-11),这可能会失败。
【讨论】: