字节数组的转换和合并

字节数组的合并

  • byte[] defArr = File.ReadAllBytes(filePath);
  • byte[] md5Arr = GetMd5Hash(filePath);
  • int len = defArr.Length + md5Arr.Length;
  • byte[] lenArr = BitConverter.GetBytes(len);
  • if (BitConverter.IsLittleEndian)
  • Array.Reverse(lenArr);
  • //resArr为合并后数组
  • byte[] resArr = new byte[lenArr.Length + defArr.Length + md5Arr.Length];
  • lenArr.CopyTo(resArr, 0);
  • md5Arr.CopyTo(resArr, lenArr.Length);
  • defArr.CopyTo(resArr, lenArr.Length + md5Arr.Length);

浮点数转成字节数组:   

const string formatter = "{0,16:E7}{1,20}";

    // Convert a float argument to a byte array and display it.

    public static void GetBytesSingle( float argument )

    {

        byte[ ] byteArray = BitConverter.GetBytes( argument );

        Console.WriteLine( formatter, argument,

            BitConverter.ToString( byteArray ) );

    }

时间: 2024-11-17 23:42:32

字节数组的转换和合并的相关文章

C#结构体和字节数组的转换函数

在通信过程中,一般我们都会操作到字节数组.特别是希望在不同语言编程进行操作的时候. 虽然C#提供了序列化的支持,不用字节数组也行.但操作字节数组肯定会碰到. 一般都会采用结构来表示字节数组.但结构与字节数组直接的转换实在很麻烦. 字节操作不但容易出错,而且每增加一个结构,就自己实现一遍,实在是烦不胜烦. 有没有简单的方法呢?当然有.可以采用非托管区的一些方法来实现. 首先,导入命名空间:System.Runtime.InteropServices; 定义结构的时候,要给结构指定特性. 如: //

字符串与字节数组的转换

String str = "helloworld"; byte data[] = str.getBytes(); for(int x = 0 ; x < data.length ; x++) { data[x]- = 32 ; System.out.print(datd[x] + ','); } System.out.println(new String(data)); 通过程序可以发现,字节并不适合处理中文.字符适合处理中文,字节适合处理二进制数据. 字符串比较 如下的比较操作

Javascript如何将中文转换Unicode16字节数组

之前因为项目的需要,需要把带有中文的字符串转换成字节数组和图片数据合并后,以二进制数据上传给服务器端. 之前,看到网上有利用Array.prototype.map.call(str, function (c) { return c.charCodeAt(0); })方法将字符串转换成字节数组,但实测结果表明该方式实现了下列功能: 1.若字符是单字节字符,则用一个小于128的数值来表示. 2.若字符是双字节字符,例如中文,则用一个大于256的数值来表示. 根据测试结果表明,该方式仅仅是将字符串转换

C#中结构体定义并转换字节数组

最近的项目在做socket通信报文解析的时候,用到了结构体与字节数组的转换:由于客户端采用C++开发,服务端采用C#开发,所以双方必须保证各自定义结构体成员类型和长度一致才能保证报文解析的正确性,这一点非常重要. 首先是结构体定义,一些基本的数据类型,C#与C++都是可以匹配的: [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct Head { public

java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等

原文:java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等 源代码下载:http://www.zuidaima.com/share/1550463397366784.htm ava 常用流处理工具 StreamTool ,常见的InputStream 流转字符串, 转字节数组等等 **应用场景: ** 1. 文件上传 2. js / css / img 等文件读取输出. 转字符串输出 (js & css) , 转字节数组输出 (img .. swf

Android---16进制与字节数组

16进制字符串与字节数组进行转换 package string; import java.util.Arrays; /** * byte[]与16进制字符串相互转换 * * @date:2017年4月10日 下午11:04:27 */ public class BytesHexStrTranslate { private static final char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', '

Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ public static String StringToAsciiString(String content) { String result = ""; int max = content.length(); for (int i = 0; i < max; i++) { char c

C# 16进制与字符串、字节数组之间的转换

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+Con

字节数组与字符串(字符数组)的转换操作

1.默认编码方式转换: (1)string(char[])转换为byte[] byte[] byteArr = System.Text.Encoding.Default.GetBytes(char[]); byte[] byteArr = System.Text.Encoding.Default.GetBytes(string); byte[] byteArr = System.Text.Encoding.Default.GetBytes(char[], startindex, count);