基础数据类型与字节数组相互转换 BitConvter类

BitConveter类

总结:这是非常实用的一个类,当需要对字节数组操作时,它提供了很多有效的方法。

1、方法

  GetBytes(Int32)//以字节数组的形式返回指定的 32 位有符号整数值。

  ToString(Byte[])//将指定的字节数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

  ToSingle//返回由字节数组中指定位置的四个字节转换来的单精度浮点数

  ToInt32//返回由字节数组中指定位置的四个字节转换来的 32 位有符号整数。 

2、实例

  代码:

  

using System;

public class Example
{
   public static void Main()
   {
      int value = 1234;
      byte[] bytes = BitConverter.GetBytes(value);//将int转换为bytes数组
      Console.WriteLine(BitConverter.ToString(bytes));//将byts数组转换为16进制形式的字符

      if (BitConverter.IsLittleEndian)
         Array.Reverse(bytes); 

      Console.WriteLine(BitConverter.ToString(bytes));
      // Call method to send byte stream across machine boundaries.

      // Receive byte stream from beyond machine boundaries.
      Console.WriteLine(BitConverter.ToString(bytes));
      if (BitConverter.IsLittleEndian)
         Array.Reverse(bytes);

      Console.WriteLine(BitConverter.ToString(bytes));
      int result = BitConverter.ToInt32(bytes, 0);将bytes数组转换为int
      Console.WriteLine("Original value: {0}", value);
      Console.WriteLine("Returned value: {0}", result);
   }
}

结果显示:

  

 

时间: 2024-10-11 04:22:18

基础数据类型与字节数组相互转换 BitConvter类的相关文章

加密解密基础问题:字节数组和字符串的相互转换

在加密时,一般加密算法和hash算法,它们操作的都是字节数组,对字节数组按照加密算法进行各种变换,运算,得到的结果也是字节数组.而我们一般是要求对字符串进行加密,所以就涉及到字符串String到 byte[] 的转换,这个很简单.同时在解密时,也涉及到字节数组byte[] 到 String 的转换.另外在对用户的密码进行hash加密之后,最终是要保存在数据库中,所以加密得到 byte[] 也要转换到 String. 1. String 到 byte[] 的转换很简单,因为String类有直接的函

C# 字符串与字节数组相互转换

总结归纳:如果直接从System.String类中找到方法进行字符串和字节数组之间的转换,是不太可能的.为了使其之间进行转换,需要借助另外一个类型:System.Text.Encoding.这个类型提供了将C#字符串转换成字节数组的方法,也提供了将C# 字节数组转换成字符串. System.Text.Encoding类型的默认构造函数不太可用,不过该类型提供了几种默认的静态属性.如下: 1 // 2 // 摘要: 3 // 获取 ASCII(7 位)字符集的编码. 4 // 5 // 返回结果:

加密解密基础问题:字节数组和(16进制)字符串的相互转换(转)

在加密时,一般加密算法和hash算法,它们操作的都是字节数组,对字节数组按照加密算法进行各种变换,运算,得到的结果也是字节数组.而我们一般是要求对字符串进行加密,所以就涉及到字符串String到 byte[] 的转换,这个很简单.同时在解密时,也涉及到字节数组byte[] 到 String 的转换.另外在对用户的密码进行hash加密之后,最终是要保存在数据库中,所以加密得到 byte[] 也要转换到 String. 1. String 到 byte[] 的转换很简单,因为String类有直接的函

Android学习之Bitmap对象与字节数组相互转换

1.将Bitmap对象读到字节数组中 ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] datas = baos.toByteArray(); 2.将字节数组转为Bitmap对象 byte[] b = getIntent().getByteArrayExtra("bitmap"); Bitmap

Java基础之集合与数组相互转换

一.集合转化为数组: 采用集合.toArray()方法,根据转化为数组的类型又可以分为: 1.转化为Object[]类型数组 比如:Object[] listArray = list.toArray(); Object[] setArray = set.toArray(); 2.转化为具体类型数组 比如:String[] listArray1 = (String[]) list.toArray(newString[0]) 或者String[] listArray2 = (String[]) li

字节数组byte[]和整型,浮点型数据的转换——Java代码

近期在写C++ socket和java socket之间的通信程序,涉及到整数浮点数的传输.须要从字节数组还原数据,查了一些资料.总结例如以下 1.       整数和浮点数的机器表示 在机器内部.不论是一个整数还是浮点数.都是以一个二进制串的形式存储. 整数可能是原码.补码表示,浮点数有阶码尾数两部分构成.不管如何都是一个二进制串.可是这个二进制串如何表示不同的机器可能採取不同的方案. 关于浮点数: 一个机器上的32位浮点数的二进制串在还有一个机器把它作为32位浮点数解释时可能得到不同的值,这

IO包中的其他类 打印流,序列流,操作对象,管道流,RandomAccessFile,操作基本数据类型,操作字节数组

打印流,序列流,操作对象,管道流,RandomAccessFile,操作基本数据类型,操作字节数组 一.打印流: 该流提供了打印方法,可以将各种数据类型的数据都原样打印. 字节打印流PrintStream构造函数可以接收的参数类型1.File对象 File2.字符串路径 String3.字节输出流 OutputStream 字符打印流PrintWriter(更常用)1.File对象 File2.字符串路径 String3.字节输出流 OutputStream4.字符输出流 Writer publ

java基础知识回顾之javaIO类--内存操作流ByteArrayInputStream和ByteArrayOutputSteam(操作字节数组)

直接看代码: package cn.itcast.io.p6.bytestream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; public class ByteArrayStreamDemo { /** * @param args * @throws IOException * 特点 * 1.内存操作流 * 2.不操作底层资源,不调

设计一个字节数组缓存类

转 http://blog.csdn.net/kakashi8841/article/details/42025367 版权所有,转载须注明出处! 1.为什么要 在做网络通信的时候,经常需要用到: 读:就是我们需要从网络流里面读取字节数据,并且由于分包的原因,我们需要自己缓存这些数据,而不是读完立刻丢掉. 写:我们需要把各种类型的数据变成字节写入.比如把int.string.short等变成字节数组写入流. 2.需要什么 我们需要设计一个类来实现: 支持可以不停地往这个类中添加字节 支持写入in