【发布时间】:2026-01-13 12:15:01
【问题描述】:
在下文中,我尝试在存储在亚马逊中的 Java 序列化文本文件与 c# 反序列化对象之间进行某种魔术。我的想法是将 Java 中的有符号字节转换为 .net 中的无符号字节!但不幸的是它不起作用!这是有效的想法吗?我怎么能解决这个问题?
using (Stream amazonStream = getObjRespone.ResponseStream)
{
List<sbyte> buffer = new List<sbyte>();
int onebyte = 0;
while (onebyte != -1)
{
onebyte = amazonStream.ReadByte();
if (onebyte != -1)
buffer.Add((sbyte)onebyte);
}
byte[] dest = Array.ConvertAll(buffer.ToArray(), item => (byte)item);
Stream stream = new MemoryStream(dest);
object obj= binaryFormatter.Deserialize(stream);
//byte[] b= (byte[]) buf.ToArray();
}
【问题讨论】:
-
跨平台序列化???忘了它!字节的符号在这里毫无意义。
-
具体来说,什么不起作用?您所看到的表明它不起作用。
-
我不确定使用标准序列化方法的可能性有多大,但我之前通过构建存储系统并使用 RandomAccessFile 类写入文件然后从中读取来手动完成序列化和重建。
标签: c# java android .net serialization