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

时间:2023-09-29 05:46:17 


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]
}

标签:数值型数据,字节数组
0
投稿

猜你喜欢

  • Android权限管理之Permission权限机制及使用详解

    2023-04-07 09:12:45
  • 手把手教你SpringBoot轻松整合Minio

    2022-07-24 14:00:37
  • Android 个人理财工具四:添加账单页面 下

    2021-09-05 00:43:59
  • Android实现简单手电筒功能

    2023-09-17 19:50:27
  • Spring AOP与AspectJ的对比及应用详解

    2022-07-07 12:50:47
  • 利用Java连接Hadoop进行编程

    2022-11-12 09:02:12
  • Android App使用RecyclerView实现上拉和下拉刷新的方法

    2023-03-28 17:47:20
  • SpringMVC实现文件上传与下载

    2021-11-02 11:53:38
  • Android实现淘宝客户端倒计时界面

    2023-09-18 21:25:09
  • 四步五分钟Spring4快速集成Swagger

    2022-02-18 08:24:15
  • 详解Spring MVC 集成EHCache缓存

    2022-05-28 04:42:52
  • C#实现简单的计算器功能

    2021-05-31 01:52:46
  • Spring Cache+Redis缓存数据的实现示例

    2023-11-26 11:53:20
  • Kotlin协程到底是如何切换线程的

    2022-03-03 13:52:39
  • jpa EntityManager 复杂查询实例

    2023-08-31 01:03:01
  • springboot整合Quartz实现动态配置定时任务的方法

    2023-03-08 22:13:10
  • Java中的内存泄露问题和解决办法

    2022-05-12 20:02:35
  • C# 中的IComparable和IComparer的使用及区别

    2023-04-19 20:11:55
  • C#中的一些延时函数

    2023-11-29 04:33:30
  • 深入Android Handler,MessageQueue与Looper关系

    2023-01-24 03:34:25
  • asp之家 软件编程 m.aspxhome.com