通过 TCP 的 Java/C# 通信 - 有符号/无符号字节专业版



我有一个Java应用程序,它通过TCP发送消息。另一个应用程序是 C#,它侦听此消息并做出响应。问题是,JAVA字节是有符号的,它会加密消息并发送它 - 加密消息中有许多负数。现在在 C# 端,我需要解密消息 - 由于 C# 字节是无符号的,我不确定发送的负数会发生什么。我的解密会失败吗?

字节可以被视为数字(有符号或无符号(或 8 位的"数组"。

  • 当您加密某些数据并将其作为字节序列发送时,您实际上发送的是位数组序列。 这就是正在接收的。

  • 当您手上有一个 8 位的数组时,您可以将其视为有符号或无符号数字。 但是,将其视为一个或另一个的行为不会改变位模式。

因此,如果您将加密数据作为字节序列发送,那么发送方和接收方对字节的想法并不重要......作为数字...是一样的。

我的解密会失败吗?

不。

最新更新