在С#我必须有一个字节数组(两个数字 - -0.2210166和1.41497),我把它放在一个用逗号分隔的字符串中:
String data = "47,82,98,190,188,29,181,63";
我明白了:
protected BinaryWriter writer;
public void writeFloat(float val) {
writer.Write (val);
}
public byte[] getBytes() {
return buffer.ToArray ();
}
我试图在Java上取回字节数组:
String[] array = data.split(",");
List<Byte> listOfBytes = new ArrayList<Byte>();
for (String str : array) {
listOfBytes.add(Byte.valueOf(str));
}
Byte[] B = listOfBytes.toArray(new Byte[listOfBytes.size()]);
byte[] stateData = new byte[B.length];
for (int i = 0; i < B.length; i++) {
stateData[i] = B[i];
}
在这个地方我收到一个错误,该错误无法获得大于字节允许值的值:
listOfBytes.add(Byte.valueOf(str));
例如,当数据 str = 190 时。我理解为什么我得到错误。但我不明白为什么C#的缓冲区写入一个4字节的数组,这些值,我无法找回他的字节。 有什么想法吗?我很困惑......