C# 中将数值型数据转换为字节数组的方法

所属分类: 软件编程 / C#教程 阅读数: 71
收藏 0 赞 0 分享

复制代码 代码如下:

private void Value_ByteArray()

{
double doublevalue = 258.0;
Int32 intvalue = 258;
string strValue = "258";
Int16 int16value = 258;
MemoryStream doublemem = new MemoryStream();
BinaryWriter doublebyteWR = new BinaryWriter(doublemem);
doublebyteWR.Write(doublevalue);
//doublemem.Close();
BinaryReader doubleReader = new BinaryReader(doublemem);
doublemem.Seek(0, SeekOrigin.Begin);
double heh = doubleReader.ReadDouble();//heh确实是257.0
MemoryStream intmem = new MemoryStream();
BinaryWriter intbyteWR = new BinaryWriter(intmem);
intbyteWR.Write(intvalue);
MemoryStream strmem = new MemoryStream();
BinaryWriter strbyteWR = new BinaryWriter(strmem);
strbyteWR.Write(strValue);
MemoryStream int16mem = new MemoryStream();
BinaryWriter int16byteWR = new BinaryWriter(int16mem);
int16byteWR.Write(int16value);
byte[] bufferdouble = doublemem.ToArray();
byte[] bufferint = intmem.ToArray();
byte[] bufferint16 = int16mem.ToArray();
byte[] bufferstr = strmem.ToArray();

}

程序结果:

double =258.0 ;8位——0 0 0 0 0 32 112 64 字节数组
Int32 = 258 ; 4——2 1 0 0
string ="258" ; 4——3 50 53 55
Int16 = 258 ; 2——2 1
Int16[] ={0,258,1} ;0 0 2 1 1 0
通过上面的例子,可以看出由数值型转换为字节数组后,程序是倒序读入的,但是读取的时候,VS会自动反转过来

复制代码 代码如下:

Int16[] int16Array =new Int16[3]{0,258,1} ;
MemoryStream int16mem = new MemoryStream();
BinaryWriter int16byteWR = new BinaryWriter(int16mem);
foreach (Int16 hehe in int16Array)
{
     int16byteWR.Write(hehe);
}
byte[] bufferint16 = int16mem.ToArray();//0 0 2 1 1 0
BinaryReader int16Reader = new BinaryReader(int16mem);
int16mem.Seek(0, SeekOrigin.Begin);
Int16[] int16Arraynew=new Int16[3];
for (int i = 0; i < int16mem.Length/2; i ++)
{
int16Arraynew[i] = int16Reader.ReadInt16();//[0,258,1]
}

更多精彩内容其他人还在看

C# SendInput 模拟鼠标操作的实现方法

C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中 paint()与Onpaint()的区别

paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
收藏 0 赞 0 分享

c#中GetType()与Typeof()的区别

c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
收藏 0 赞 0 分享

将字符串转换成System.Drawing.Color类型的方法

将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# 抓取网页内容的方法

C# 抓取网页内容的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

基于C#后台调用跨域MVC服务及带Cookie验证的实现

本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
收藏 0 赞 0 分享

使用C#获取远程图片 Form用户名与密码Authorization认证的实现

本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
收藏 0 赞 0 分享

Winform跨线程操作的简单方法

线程间操作无效:从不是创建控件“label1”的线程访问它
收藏 0 赞 0 分享

C# WINFORM 强制让窗体获得焦点的方法代码

C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中方括号[]的语法及作用介绍

C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
收藏 0 赞 0 分享
查看更多