c# – 编程语言中的Endianness

c# – 编程语言中的Endianness,第1张

概述嗯,“Endianness”主题对我来说总是有点混乱,但我从来没有遇到任何问题,这些问题要求我甚至考虑我使用的二进制编写器/阅读器的默认行为.我正在c#中写一个PNG解码器. PNG文件格式规范声明所有数字都以大端符号存储(我觉得非常自然).但是,当我注意到.NET的BinaryReader / Writer使用一点endian符号时,我感到非常惊讶.令我更加困惑的是,事实上, java的二进制I 嗯,“Endianness”主题对我来说总是有点混乱,但我从来没有遇到任何问题,这些问题要求我甚至考虑我使用的二进制编写器/阅读器的默认行为.我正在c#中写一个PNG解码器. PNG文件格式规范声明所有数字都以大端符号存储(我觉得非常自然).但是,当我注意到.NET的BinaryReader / Writer使用一点endian符号时,我感到非常惊讶.令我更加困惑的是,事实上,java的二进制IO与大端符号一起工作(不是java程序员,所以也许我错了).所以我开始考虑以下问题:

1 – 为什么它们是这样的?我的意思是基类库的默认行为.
2 – 为什么在使用.NET的System.IO时无法选择首选符号?

我目前正在使用Jon Skeet’s MiscUtil,它就像一个魅力(谢谢,男人=)).但是在基类库中看到这个功能会很酷.

解决方法 这是因为代码意味着在最重要的平台上尽可能地运行. C#/ .NET来自Microsoft,主要在x86平台上运行. x86是little-endian,因此将库设为little-endian是有意义的. Java由Sun制作,Sun SPARC是big-endian,因此Java标准是big-endian. 总结

以上是内存溢出为你收集整理的c# – 编程语言中的Endianness全部内容,希望文章能够帮你解决c# – 编程语言中的Endianness所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1239398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存