gpt4 book ai didi

c# - 编程语言中的字节顺序

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:51:57 25 4
gpt4 key购买 nike

好吧,“字节顺序”主题总是让我有点困惑,但我从来没有遇到过任何需要我考虑我使用的二进制写入器/读取器的默认行为的问题。我现在正在用 c# 编写 PNG 解码器。 PNG 文件格式规范规定所有数字都存储在大端表示法中(我觉得这很自然)。但是,当我注意到 .NET 的 BinaryReader/Writer 使用小端表示法时,我感到非常惊讶。更让我困惑的是,java 的二进制 IO 使用大端表示法(我不是 java 程序员,所以也许我错了)。于是我开始思考以下问题:

1 - 为什么事情是这样的?我的意思是基类库的默认行为。2 - 为什么在使用 .NET 的 System.IO 时无法选择首选表示法?

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

最佳答案

这是因为代码旨在尽可能在最重要的平台上运行。 C#/.NET 来自 Microsoft,主要运行在 x86 平台上。 x86 是 little-endian,所以让库成为 little-endian 是有意义的。 Java 是 Sun 的,Sun SPARC 是大端的,所以 Java 标准是大端的。

关于c# - 编程语言中的字节顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2352570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com