可序列化对象和byte[]数组之间的互转

        /// <summary>
        /// 将可序列化对象转成Byte数组
        /// </summary>
        /// <param name="obj">对象(对象不能为空)</param>
        /// <returns>返回相关数组</returns>
        protected static byte[] ObjectToByteArray<T>(T obj) where T : ISerializable
        {
            if (obj == null)
            {
                byte[] byteArr = new byte[] { };
                return byteArr;
            }
            else
            {
                MemoryStream ms = new MemoryStream();
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, obj);
                ms.Close();
                return ms.ToArray();
            }
        }
        /// <summary>
        /// 将可序列化对象转成的byte数组还原为对象
        /// </summary>
        /// <param name="byteArry">byte数组</param>
        /// <returns>相关对象</returns>
        protected static T ByteArrayToObject<T>(byte[] byteArry) where T : ISerializable
        {
            if (byteArry != null && byteArry.Length > 0)
            {
                MemoryStream ms = new MemoryStream(byteArry);
                BinaryFormatter bf = new BinaryFormatter();
                return (T)bf.Deserialize(ms);
            }
            else
            {
                return default(T);
            }
        }
时间: 2024-10-06 19:59:30

可序列化对象和byte[]数组之间的互转的相关文章

java byte数组与String互转

java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String.getBytes(charset)实现 String website = "http://www.cnblogs.com/Marydon20170307"; // String-->byte[],并指定字符集 byte[] b = website.getBytes("utf-

InputStream,BufferedImage与byte数组之间的转换

需要获取网络的一张图片,但是某种需要,要把获取的这段流输入换为BufferedImage流,有的地方还需要转换为byte[]. 获得图片地址,获得了一个图片输入流,例如:    Url img = new  URL(url);   InputStream in = img.openStream(); 接着把输入流转为BufferedImage:    JPEGImageDecoder decoderFile = JPEGCodec.createJPEGDecoder(in);   Buffere

关于js中的json对象,json串,数组之间相互转换

将json对象转换成string var loginUser = {username: username, password: password}//方式一 localStorage.setItem("loginUser", JSON.stringify(loginUser));//方式二 localStorage.setItem("loginUser",loginUser.toJSONString()); 将string转换成json对象 //方式一 var ob

php中对象类型与数组之间的转换

1.刚看视频学习的时候看到一个困扰很久的问题, 有时候我们在进行做项目的时候会碰到的一个小问题.举一个小例子.  获取一个xml文件里面的数据. xml.xml文件如下: <?xml version="1.0" encoding="ISO-8859-1"?><note> <to>George</to> <from>John</from> <heading>Reminder</h

C# string和byte[]数组之间相互转换

原文地址:传送门 string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: string str = System.Text.Encoding.Default.GetString ( byteArray ); string转ASCII byte[]: byte[] byteArray = System.Text.Encoding.ASCII.GetBytes (

byte数组和int互转

import java.nio.ByteBuffer; public class Program { public static void main(String[] args) { ByteBuffer buf = ByteBuffer.allocate(3); writeInt24(-113, buf); buf.flip(); int i1 = readInt24(buf); buf.clear(); writeInt24(9408399, buf); buf.flip(); int i2

Java 实现 对象和转字符串之间的互转

添加依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.7</version> </dependency> <dependency> <groupId>com.squareup.retrofit2</

C# 对象、文件与二进制串(byte数组)之间的转换

1.关于本文 在使用C#下的TCP(类TcpClient).UDP(类UdpClient)协议传输信息时,都需要将信息转换为byte类型的数组进行发送.本文实现了两种object与byte数组的转换和一种文件与byte数组转换的方式.基础类型的数据,可以用BitConverter类中的函数进行转换. 2.object与byte[]的相互转换:使用IFormatter的Serialize和Deserialize进行序列化与反序列化 实现这个功能,需要先引用三个命名空间:System.IO.Syst

java整型数与网络字节序的 byte[] 数组转换关系

java整型数与网络字节序的 byte[] 数组转换关系 工作项目需要在java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型.如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整.而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长度不一致. 本文就是针对这种情况,整理了j