三种方法来进行转换。(1) 在.NET Framework类库的System名字空间中有个叫做BitConverter的类,它是专门用来进行这种转换的。

主要方法:

1> GetBytes()方法 可以将大多数的简单类型转化为byte[];

2> ToInt()/ToString()等方法 用来将一个byte[]转换成一个基本类型(primitive type)

注意:BitConverter类的行为取决于硬件架构(代码在该硬件架构上运行)的字节顺序(endianness)。

如果你将bit保存为可以在许多不同平台上读取的一个文件格式,那么就会出问题。BitConverter有一个公有的IsLittleEndian字段,你可以查看它是如何运行的,但遗憾的是,你并不能改变它。

(2) 通过手动位移(bit shifting)来进行转换:

b = new byte[] {0xfe,0x5a,0x11,0xfa};

u = (uint)(b[0] | b[1] <

b[2] <

b[0] = (byte)(u);

b[1] = (byte)(u >> 8);

b[2] = (byte)(u >> 16);

b[3] = (byte)(u >> 24);

用这种方法就可以避免字节顺序问题,因为可以完全控制字节的位置。但是比较麻烦

(3) 如果不介意用不安全的代码——可以通过直接的内存拷贝来实现转换,把一个指向byte array的指针(pointer)转换成一个指向integer类型的指针,然后取它的值(dereference):unsafe

{

fixed ( byte* pb = b )

u = *((uint*)pb);

}

同BitConverter一样,这个方法的运行结果取决于代码在何种硬件上运行。

如果要进行很多这种转换,比如说在一个循环中,而且想得到最佳性能,那么建议用最后两种方法中的一种。BitConverter有些慢,尽管区别不大。

c#将byte转为int_c#怎么把byte转化成int相关推荐

  1. java byte to integer_Java中的Byte转为无符号的Integer

    Java的Byte都是有符号的(singed),而Byte又是8位的,如何转为无符号( unsigned)的呢? 素材: byte   a=11010110 (singed : -42  . unsi ...

  2. C#中如何将字符串转换byte[],同时如何将byte[]换成字符串?

    C#中如何将字符串转换byte[],同时如何将byte[]换成字符串? 博客分类: C# CC++C#  1   string   to   byte  []   string   str   =   ...

  3. byte数组快速拷贝,byte数组合并,System.arraycopy详解

    博客来源: 项目过程中用到byte[]数组相加问题,给出两个byte[] 需要合并成一个byte[]进行计算-那么需求来了--数据量达10W级,怎么合并 调用系统自带方法(System.arrayco ...

  4. java byte数组 初始化_Java根据byte数组,生成文件

    根据byte数组,生成文件 自己写的小案例,找个地方记录一下 package com.seesun2012.utils; import java.io.BufferedOutputStream; im ...

  5. java byte数组转long_Java中byte、byte数组与int、long的转换详解

    一.Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) ...

  6. java将byte转为无符号字节——解决java没有unsigned byte问题

    在使用代码和硬件通讯时,通常碰到c++中使用无符号字节unsigned byte 进行数据发送与接受,但JAVA没有无符号字节,怎么把131(java的字节只能存 -128 ~127 )发送给机器呢, ...

  7. C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short

    //从网络中读取C的无符号int,short,byte字节数组,相应转换成java的long,char,short short anUnsignedByte = 0; char anUnsignedS ...

  8. 负数byte转为int

    /*** byte转int(考虑到byte可能会有超出范围的情况)* @param b* @return*/public static Integer byteToInteger(Byte b){re ...

  9. java将图片转byte存入数据库_Java将byte[]转图片存储到本地的案例

    Java中,将字节数组转成图片的有很多种方式,今天在这里记录其中一种,方便以后查询,也可以提供给没有接触的童鞋做一个参考. 首先是将图片转成字节数组 import sun.misc.BASE64Enc ...

最新文章

  1. [原创]PipelineTools 文件传输工具
  2. mysql have_mysql having的用法
  3. 用三国杀讲分布式算法,太舒适了吧?
  4. 苹果紧急修复远程漏洞,影响数十亿设备
  5. linux 命令行域名的解析(DNS) —— dig、host
  6. OSG-基本几何图形
  7. iif能用到mysql中吗_数据库 iif
  8. android 锁屏显示消息格式,通知!在锁屏上显示Android通知 | MOS86
  9. oppo手机鸿蒙系统安装教程,oppo手机怎么刷机的步骤如下
  10. python web ui框架_推荐几个精致的web UI框架
  11. MTK 平台Android系统遥控器映射关系
  12. 利用反向代理服务器,加快国内对国外主机的访问
  13. 数学建模-回归分析(Stata)
  14. 将word 转换为图片(word to pdf ->pdf to image)
  15. Temporal Anti-Aliasing(时域抗锯齿TAA)
  16. 关于文件上传失败的问题
  17. 蓝牙【GATT】协议介绍
  18. Android UI绘制流程分析(三)measure
  19. 提取Insight-MVT_Annotation_Train 数据集标签xml文件中的信息
  20. php laravel入口文件,Laravel 应用的入口:路由系列之基础入门篇

热门文章

  1. 装箱问题【0-1背包问题】
  2. 利用AD18绘制PCB封装的方法总结(一)
  3. fluentd tail mysql_fluentd缓冲区Buffer(五)
  4. Gridea 让你更方便地用 Github Pages 和 Coding Pages 搭建静态博客
  5. 环境决定性格,性格决定命运
  6. 走基层、送温暖、迎新春
  7. Android界面篇【实现气泡短信样式】
  8. 中国特色的×××门户网站——21cn
  9. 小红书达人等级有哪些,达人种草力度判断
  10. 【微语】第七周(12.28~2021.01.03)