gpt4 book ai didi

c# - 字节序 java/.net

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:27 26 4
gpt4 key购买 nike

java应用程序通过套接字向C#应用程序发送信息时,字节顺序是否不同?或者我可以只将整数从 C# 发送到 Java 应用程序并将其读取为整数吗?

(操作系统是否重要,或者对于 java/.net 无论实际操作系统如何处理它都是一样的?)

最佳答案

这一切都取决于您如何对数据进行编码。如果您将其视为原始字节序列,则不会发生冲突;顺序是一样的。将数据 block 解释为(例如)整数时,问题在于字节顺序。

任何序列化器编写时考虑到可移植性都将定义字节顺序——例如,在 Protocol Buffer (可用于 Java 和 C#)中,总是使用小字节序 < strong>无论您的本地硬件如何。

如果您正在手动写入流,使用基于移位的编码(而不是直接内存复制)之类的东西将为您提供定义的字节顺序。

如果您使用预先封装的平台序列化程序,您将受到实现的摆布。它可能是字节序安全的,也可能不是(即它可能取决于两端的平台)。例如,.NET BitConverter 类是安全的 - 它通常被(错误地)假定为小端,但在某些平台上(尤其是在某些平台上的 Mono 中)硬件)它可能是大端;因此 .IsLittleEndian属性(property)。

我的建议是使用一个序列化器来为你处理这一切;p

关于c# - 字节序 java/.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000721/

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