单声道Endianness

art*_*hur 9 .net c# mono endianness

使用.NET的东西相当简单 - 所有(包括ARM ASFAIK)运行小端.

我的问题是:什么是Mono和(可能)大端系统?在Int32/Int64结构中,这些位是反向的(与x86相比)还是框架强制使用小端规则集?

谢谢

Ode*_*ded 13

您断言所有MS .NET都是小端是不正确的.这取决于您运行的体系结构--CLR规范如此说:

从CLI注释标准(p.161) - 分区I,第12.6.3节:"字节顺序":

对于大于1个字节的数据类型,字节排序取决于目标CPU.依赖于字节排序的代码可能无法在所有平台上运行.[...]

(取自这个 SO答案)

有关内部函数及其如何处理字节序的更多信息,请参阅答案BitConverter.


Mar*_*rio 2

据我所知,这种转换会发生在您的代码范围之外并对您隐藏。由于某些原因(包括此类潜在问题),它被称为“托管代码”。