【发布时间】:2015-04-28 12:58:23
【问题描述】:
如果这个问题的措辞非常糟糕,请原谅,但我会尽力解释(对我而言)什么是相当复杂的情况。我完全意识到我在这里不知所措,经验丰富,但我希望你们中的一个可以帮助我。
我用这个来告诉你更聪明的想法,因为我完全陷入了困境,隧道尽头似乎没有光。
我有一个文件我希望用C# 转换为byte 数组,因为byte 数组将作为参数发送到Java 方法中。
所以我想:
byte[] a = System.IO.File.ReadAllBytes(filePathHere);
现在,这行得通,世界上一切都很平静。但是当我尝试将a 发送到我的Java 方法时,问题就出现了。
当我尝试通过JSON 将其发送到我的Java 文件时,它引发的错误是:
org.codehaus.jackson.JsonParseException: 数值 (181) 超出 Java字节范围
现在,经过一番(徒劳的)谷歌搜索后,我得出的结论是,C# 认为通过将文件转换为包含值在0 和255 之间的项目的byte 数组是有帮助的。
虽然Java 期望作为我的方法的参数得到一个byte 数组,但其值从-128 到128。
在理想情况下,如果你们中有人知道如何将我的文件 C# 转换为 byte 数组,其值从 -128 到 128,我会很高兴。
但是,如果这实际上是不可能的,我也愿意在Java 中将值在0 和255 之间的byte 数组转换为更理想的-128 到@987654350 @ 格式。
我所描述的是不可能的,还是有人知道如何做到这一点?
我非常感谢任何人可以提供的任何帮助。越详细和对新手友好越好!
【问题讨论】:
-
会遍历 c# 字节数组并将该位置的字节转换为带符号的 int 帮助吗?我不熟悉这样做,但偶然发现了这篇 msdn 文章:BitConverter.ToInt32 Method
-
没关系,看起来 mo.ashfaq 已经处理好了。
-
以及读取文件,你可以看到这个:stackoverflow.com/questions/23129598/…