精华内容
下载资源
问答
  • list转换成byte数组

    2012-07-18 10:35:05
    list转换成byte[] 为了把list里面的东西输出到txt,我用到的是BufferedWriter,...但是bw.write里面是byte类型的,我想知道,怎么把list转换成byte类型数组 ps:list不是ArrayList,最好有点代码提示一下,非常感谢。
  • 【C# 基础】ArrayList 转换成byte数组

    千次阅读 2013-05-11 23:58:00
    // C# ArrayList 转换成byte数组 ArrayList al = new ArrayList(); byte[] array = (byte[])al.ToArray(typeof(byte));
    // C# ArrayList 转换成byte数组
    ArrayList al = new ArrayList();
    byte[] array = (byte[])al.ToArray(typeof(byte));
    

    展开全文
  • 2.byte数组转换为16进制 3.byte转换16进制 4.byte数组倒序排列 5.int整数转换为4字节的byte数组 /** * @Title: sysCopy * @Description: 合并多个byte[]内容 * @param srcArrays * @return * @return ...

    1.合并多个byte数组内容

    2.byte数组转换为16进制

    3.byte转换16进制

    4.byte数组倒序排列

    5.int整数转换为4字节的byte数组
    	/**
    	 * @Title: sysCopy
    	 * @Description: 合并多个byte[]内容
    	 * @param srcArrays
    	 * @return
    	 * @return byte[] 返回类型
    	 * @throws
    	 */
    	private static byte[] sysCopy(List<byte[]> srcArrays) {
    		int len = 0;
    		for (byte[] srcArray : srcArrays) {
    			len += srcArray.length;
    		}
    		byte[] destArray = new byte[len];
    		int destLen = 0;
    		for (byte[] srcArray : srcArrays) {
    			System.arraycopy(srcArray, 0, destArray, destLen, srcArray.length);
    			destLen += srcArray.length;
    		}
    		return destArray;
    	}
    
    
    
    	/**
    	 * @Title: bytes2HexString
    	 * @Description: byte[]转换16进制
    	 * @param b
    	 * @return
    	 * @return String 返回类型
    	 * @throws
    	 */
    	private static String bytes2HexString(byte[] b) {
    		String ret = "";
    		for (int i = 0; i < b.length; i++) {
    			String hex = Integer.toHexString(b[i] & 0xFF);
    			if (hex.length() == 1) {
    				hex = '0' + hex;
    			}
    			ret += hex.toUpperCase();
    		}
    		return ret;
    	}
    
    	/**
    	 * @Title: byte2HexString
    	 * @Description: byte转换16进制
    	 * @param b
    	 * @return
    	 * @return String 返回类型
    	 * @throws
    	 */
    	private static String byte2HexString(byte b) {
    		String ret = "";
    		String hex = Integer.toHexString(b & 0xFF);
    		if (hex.length() == 1) {
    			hex = '0' + hex;
    		}
    		ret += hex.toUpperCase();
    		return ret;
    	}
    
    	/**
    	 * @Title: getReverse
    	 * @Description: byte[]倒序排列
    	 * @param t
    	 * @return
    	 * @return byte[] 返回类型
    	 * @throws
    	 */
    	private static byte[] getReverse(byte[] t) {
    		for (int start = 0, end = t.length - 1; start < end; start++, end--) {
    			byte temp = t[end];
    			t[end] = t[start];
    			t[start] = temp;
    		}
    		return t;
    	}
    
    	/**
    	 * @Title: intToByte4
    	 * @Description: int整数转换为4字节的byte数组
    	 * @param i
    	 * @return
    	 * @return byte[] 返回类型
    	 * @throws
    	 */
    	private static byte[] intToByte4(int i) {
    		byte[] targets = new byte[4];
    		targets[3] = (byte) (i & 0xFF);
    		targets[2] = (byte) (i >> 8 & 0xFF);
    		targets[1] = (byte) (i >> 16 & 0xFF);
    		targets[0] = (byte) (i >> 24 & 0xFF);
    		return targets;
    	}
    
    	


    展开全文
  • 主要为大家详细介绍了java对象转成byte数组的3种方法,具有一定的参考价值,感兴趣的朋友可以参考一下
  • 在一次实现中,需要从txt中读入数据,用的list来进行存放,然后需要对list进行无损压缩操作,但该无损压缩的形参类型是byte[]类型,故需要实现List转为byte[],下面是具体的实现: List<T> list= new ...

    在一次实现中,需要从txt中读入数据,用的list来进行存放,然后需要对list进行无损压缩操作,但该无损压缩的形参类型是byte[]类型,故需要实现List转为byte[],下面是具体的实现:

    	List<T> list= new ArrayList<>();//待压缩数据,T表示对象类型
    	ByteArrayOutputStream bos=new ByteArrayOutputStream();
    	ObjectOutputStream oos=new ObjectOutputStream(bos);
    	oos.writeObject(list);
        byte[] bytes = bos.toByteArray();
        oos.close();
        bos.close();
    	//下面进行压缩,具体压缩可参考我的另一篇博文,这里用compress方法表示压缩实现,decompress表示解压缩实现
    	byte[] bytesCompressed = compress(bytes);//bytesCompressed表示压缩后的数据
    	byte[] dataDecompress = decompress(bytesCompressed);//dataDecompress表示解压后的数据
    	//现对dataDecompress进行还原
    	ByteArrayInputStream bi = new ByteArrayInputStream(dataDecompress);
        ObjectInputStream oi = new ObjectInputStream(bi);
        List<T> list = castList(oi.readObject(), T.class);
        bi.close();
        oi.close();
    
    	/**
         * 将object类型转为List<T> 类型
         * @param obj
         * @param c
         * @return java.util.List<T>
         */
        public static  <T> List<T> castList(Object obj, Class<T> c)
        {
            List<T> result = new ArrayList<T>();
            if(obj instanceof List<?>)
            {
                for (Object o : (List<?>) obj)
                {
                    result.add(c.cast(o));
                }
                return result;
            }
            return null;
        }
    
    展开全文
  • 如何将自定义的structure转换byte数组(VB.Net) Dim myStru As aa myStru.a1 = "AA" myStru.a2 = 1 myStru.a3 = 2 Dim rawsize As Integer = Runtime.InteropServices.Marshal.SizeOf

     

    如何将自定义的structure转换为byte数组(VB.Net)
          Dim myStru As aa
            myStru.a1 = "AA"
            myStru.a2 = 1
            myStru.a3 = 2
            Dim rawsize As Integer = Runtime.InteropServices.Marshal.SizeOf(myStru)
            Dim buffer As IntPtr = Runtime.InteropServices.Marshal.AllocHGlobal(rawsize)
            Runtime.InteropServices.Marshal.StructureToPtr(myStru, buffer, False)
            Dim rawdatas(rawsize - 1) As Byte
            Runtime.InteropServices.Marshal.Copy(buffer, rawdatas, 0, rawsize)
            Runtime.InteropServices.Marshal.FreeHGlobal(buffer)
            MsgBox(UBound(rawdatas))
            'rawdatas 就是你需要的Byte()
    从WEB SERVICE 上返回大数据量的DATASET
            前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作。查遍了网站的文章,问了一些朋友,也找了一些解决方法.
            众所周知,如果不用其它方法,直接从WEB SERVICE上传回一个10W条记录的DATASET,可想而知的后果是什么,CPU要占用 100%,且要等上几分钟,这是任何一个项目都无法忍受的.在我上网找资料的过程中,试验了几种不同的方法,如通过压缩SOAP改善XML Web service性能,这篇文章所介绍的方法用了SOAP扩展,是通过在WEB SERVICE端用已经过时了的NZIPLIB库来压缩SOAP响应,据称文本压缩率可达80%.文章里面的代码是VB.NET的,费了好大劲翻译成C#的,照上面建项目,但是很可惜,我没有编译成功,总是出错.
    这里我找我建好的项目提供大家下载,大家有时间看看是什么问题. SOAP压缩代码下载
           而后,找到了用序列化的方式来减少网络传输量,Microsoft .NET Framework 1.x 中内建两种将物件序列化的 Formatter类别,SoapFormatter 和 BinaryFormatter,两种方式均能减轻网络传输量提高性能,但SoapFormatter方式传输的方式其实还是XML形式,加了很多XML标识,因此压缩率不是很理想,BinaryFormatter用纯二进制的方式序列化DATASET,能使压缩率大大提高,这是台湾作者李匡正 (台灣微軟應用架構技術經理提供的例子里对SQL范例库Northwind的测试结果:
     SoapFormatter 
     BinaryFormatter 
     Dataset 序列化後 Bytes 數 
     1,953,078
     1,448,399 
     很显示然BinaryFormatter 明显优于SoapFormatter ,而我也确实用了BinaryFormatter 这种方式实现了提高效率.
    再者,用微软提供的DataSetSurrogate 类可以此基础上进一步压缩数据大小,DataSetSurrogate 在.net 2.0里自带。这是比较结果.
      SoapFormatter BinaryFormatter
    Dataset 序列化後Bytes數 1,953,078 1,448,399
    DataSetSurrogate 序列化後Bytes數 2,371,942 575,684
    在这里,有两种方式:可把序列化后的数据用文件形式保存在客户端硬盘;也可用Byte[]方式传回客户端,以下是代码。
    [WebMethod(Description="循环获取远程DATASET")]
      public void SurrogateReadTable(string TableName)
      {
       //把DataSet通过Surrogate Class 序列化成 Binary Stream
         DataSet ds;
       ds=SqlHelper.ExecuteDataset(cnn,CommandType.Text,"select * from "+TableName);
       //实例化DataSetSurrogate,传取出的DATASET到构造函数里
       sds = new DataSetSurrogate(ds);
       //实例化二进制流
       BinaryFormatter bf=new BinaryFormatter();
       StreamWriter swDat;
       //写到本地一个文件里
       swDat = new StreamWriter(@"c:/output_surrogate_dataset.dat");
       bf.Serialize(swDat.BaseStream, sds);
       //这里可以知道序列化后的文件的大小
       long size = swDat.BaseStream.Length;
       swDat.Close();
        }
    private void button1_Click(object sender, System.EventArgs e)
      {
       label1.Text=DateTime.Now.ToString();

       button1.Enabled=false;
       //反序列化Binary Stream能通过Surrogate Class转换成 DataSet

       //从WEB SERVICE上读取方法
       svs.SurrogateRead("t_busdocbase");
       BinaryFormatter bf=new BinaryFormatter();
       StreamReader swDat;
       swDat = new StreamReader(@"c:/output_surrogate_dataset.dat");
       object o=bf.Deserialize(swDat.BaseStream);
      DataSet ds;
       sds = (DataSetSurrogate) o;
       ds = sds.ConvertToDataSet();
       dataGrid1.DataSource=ds.Tables[0];
       swDat.Close();
       }
    [WebMethod(Description="获取业务资料远程DATASET")]
          public byte[] SurrogateRead1()
          {
           DataSet ds;
           ds=SqlHelper.ExecuteDataset(cnn,CommandType.Text,"select * from t_busdocbase");
           sds = new DataSetSurrogate(ds);
           MemoryStream s= new MemoryStream();
           BinaryFormatter bf = new BinaryFormatter();
           bf.Serialize(s,sds);
                byte[] e = s.ToArray();
           return e;
            }
    private void button3_Click(object sender, System.EventArgs e)
       {
        label1.Text=DateTime.Now.ToString();

        button3.Enabled=false;
        //*反序列化Binary Stream能通过Surrogate Class转换成 DataSet*/
        //从WEB SERVICE上读取方法
         byte [] bb=svs.SurrogateRead1();
         MemoryStream br=new MemoryStream(bb);
         BinaryFormatter bf=new BinaryFormatter();
         object o=bf.Deserialize(br);
         sds = (DataSetSurrogate) o;
         ds = sds.ConvertToDataSet();
         dataGrid1.DataSource=ds.Tables[0];
         br.Close();
        }

     

    展开全文
  • java对象转成byte数组,在使用netty进行通信协议传输的场景中是非常常见的。比如,协议有一些定好的协议头、classid,messageid等等信息,还有一个关键的内容是payload。不同的协议内容都会放到payload中,而这个...
  • 从单通道Mat to byte数组 byte[] pData = new byte[(int) mat.total()]; mat.get(0, 0, pData); MatOfPoint to MatOfPoint2f转换 MatOfPoint2f mf = new MatOfPoint2f(MatOfPoint.toArray()); ...
  • 1.将结构体转化为byte数组 #region /// &lt;summary&gt; /// 结构体转为byte数组 /// &lt;/summary&gt; /// &lt;typeparam name="T"&gt;&lt;/typeparam&gt; ///...
  • C# byte数组转换成List<String>

    千次阅读 2019-10-02 19:59:33
    byte[] bys=buffer; string[] AllDataList= Encoding.Default.GetString(bys).Split(Environment.NewLine.ToCharArray());...Encoding.Default.GetString(bys) 表示byte[]转string。 Split(Environment.NewL...
  • unity将任意格式的文件转成byte数组

    千次阅读 2020-06-01 14:27:17
    有时候上传服务器需要byte数组形式,下面这个方法可以将任意格式的文件转为byte数组 public static byte[] AuthGetFileData(string fileUrl) { FileStream fs = new FileStream(fileUrl, FileMode.Open, File...
  • ByteBuffer和byte数组互相转换

    千次阅读 2020-06-09 16:55:16
    1. byte 数组转byteBuffer /** * byte 数组转byteBuffer * @param byteArray */ public static ByteBuffer byte2Byffer(byte[] byteArray) { //初始化一个和byte长度一样的buffer ByteBuffer buffer=...
  • byte数组转换成JPEG格式返回到页面 开发工具与关键技术:MyEclipse 10/Java 作者:cxxone 撰写时间:2019年07月15日 第一步:先拿到byte数组的图片(我的是直接从数据库查出来的) IndentService is=new ...
  • 需求过程: 在内存中把文件地址写入到txt中,并以byte数组存入到oss里面 1.准备数据 // 准备数据 List < String > fileList = new ArrayList < > (); if(StringUtils.isNotBlank(fileUrls)) { String[]...
  • string数组转换成int数组 Array.ConvertAll<string,int>(string的数组,int.Parse); 数组转字符串,以逗号分隔 string[] 数组 = post.体检编号数组; string str = string.Join(",", 数组); list集合转字符...
  • File工具类与byte数组和inputstream转换 package com.sk.Util; /** * *sk */ import java.io.*; import java.nio.channels.FileChannel; public class fileUtils { /** * *byte数组转inputstream * @param ...
  • import java.util.ArrayList; import java.util.List; /** * @Author: * @Date: * @Description: 进行数据... * 将byte类型的arr转换成float * @return */ public static List<Float> byteArrayToFloatL
  • Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
  • 现在需要udp 发送一个结构体数据 结构体类型大概如下 struct A { int a; } struct B { int b; ...现在要发送 结构体C类型的数据, 请问各位大神,怎样将此类结构体转换byte数组
  • 如何将integer串转化成byte数组

    千次阅读 2004-01-04 10:15:00
    How to Convert a String of Integers into an Array of Byte如何将integer串转化成byte数组The best solution is to dynamically create an array of byte that has length equal to that of the string....
  • public static byte[] toByteClass(String msg){ byte[] bt= new byte[2]; int res = Integer.parseInt(msg); int num = Integer.parseInt(Integer.toHexString(res)); bt[0] = (byte) ((res >> 8) & 0xff);
  • FTPFile[] fs = ftpClient.listFiles(fileName); if (fs.length == 0) { System.out.println(“this file not exist ftp”); } else if (fs.length == 1) { System.out.println(“this file exist ftp”); } ...
  • byte数组poi需要的workbook 最近在公司遇到一个需求,要将前端传过来的byte数组生成excel,然后将数据生成一个List<Map<String,String>> 数据给下方调用者。 废话少说,直接上代码: public static...
  • byte数组的转化

    千次阅读 2017-10-26 11:11:57
    java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),“byte数组”里面全部是“byte”,即每一个byte都可以用二进制、十六进制、十进制来表示。 首先八位二进制数0000 0000 ~...
  • Stream流转到byte数组

    2021-04-22 10:56:12
    这个时候是无法确定stream的长度,无法进行seek复位操作,所以需要转化为byte数组 private byte[] StructureBytes(Stream stream) { int bufferSize = 10240; long writtenBytes = 0L; var byteArrs = new List&...
  • java ByteBuffer和byte 数组相互转换

    万次阅读 2015-04-14 16:44:28
    // Create a byte array byte[] bytes = new byte[10]; // Wrap a byte array into a buffer ByteBuffer buf = ByteBuffer.wrap(bytes); // Retrieve bytes between the position and limit // (see Pu
  • 1 /** 2 * 将一个单字节的byte转换成32位的int 3 * 4 * @param b 5 * byte 6 * @return convert result 7 */ 8 public static int unsignedByteToInt(byte b) {...
  • 问题泛化:如何把类型A的数组、集合(List、Map、Stack等)转化为类型B . import java.util.Arrays; public class Main { public static void main(String[] args) { // We have a long type array, and want to ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,275
精华内容 29,710
关键字:

list转换成byte数组