【问题标题】:How to convert byte[] c# to java byte[]如何将 byte[] c# 转换为 java byte[]
【发布时间】:2016-07-21 18:23:53
【问题描述】:

我在 C# 中有这段代码

byte[] t = {6, 250, 215}

但在Java中留下

byte[] t = {6, -6, -41}.

如何解决这个问题。我需要在 java 中等于 c# byte[].

【问题讨论】:

  • c# byte 和 java byte 不等价。 Java 的 bytes 已签名。
  • 那么如果我在 C# 中使用 md5 加密,我将永远无法在 java 中转换?
  • 两个数组都是{ 0b00000110, 0b11111010, 0b1101011 }。他们有不同的解释。

标签: java c# arrays range byte


【解决方案1】:

如何解决这个问题

第一篇是关于how java represents data types..:

byte:byte 数据类型是一个 8 位有符号二进制补码整数。 它的最小值为 -128,最大值为 127(含)。 byte 数据类型可用于在大型数组中节省内存, 内存节省实际上很重要。它们也可以用于 int 的位置,它们的限制有助于澄清您的代码;事实 变量的范围是有限的可以作为一种形式 文档。

正如@bradimus 语句,java 的字节是一个 8 位 2 补码的有符号整数 但在 C# 中你永远不会看到负字节值

提示:

如果您考虑进行转换...

-6 在java中可以是 256+(-6) = 250 在C#中

如果您需要从 C# 转换为 java,请仔细考虑 java 字节中的最大值和最小值......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2020-02-03
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多