C#中Byte转二进制疑问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中Byte转二进制疑问相关的知识,希望对你有一定的参考价值。

求教如何把一个Byte数组转化为一个二进制的标志位?
比如:
byte 数值[]=new byte[1]0x7F;
//string 字符格式="7F";
byte 标志位[]=new byte[数值.Length*8] ;
这里如何转换使 标志位[]=0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01
再比如:
byte 数值[]=new byte[2]0xff,0x01;
//string 字符格式="FF01";
byte 标志位[]=new byte[数值.Length*8] ;
这里如何转换使 标志位[]=0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01

参考技术A Convert.ToString(一个byte值, 2).PadLeft(8, '0');

字符串怎么转换成16进制byte

字符串先转换二进制的在在转换16进制Byte
如下用C#实现的方法
字符转换到二进制方法
private static byte[] strToToHexByte(string hexString)

hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
return returnBytes;


二进制方法转换到16进制Byte
public static string byteToHexStr(byte[] bytes)

string returnStr = "";
if (bytes != null)

for (int i = 0; i < bytes.Length; i++)

returnStr += bytes[i].ToString("X2");


return returnStr;
参考技术A byte[] b = Encoding.ASCII.GetBytes(s);

还是将字符串转成整形,再放到一个byte里面
那就这样:
byte b = Convert.ToByte(s, 16);

以上是关于C#中Byte转二进制疑问的主要内容,如果未能解决你的问题,请参考以下文章

(C#)把一个byte数组转换成一个二进制流!

C#里面怎么把二进制转换成byte[]

java 进制转换 十进制转二,八,十六进制

字符串怎么转换成16进制byte

python 十进制转二,八,十六进制

C#如何把16进制字符串转成值相等的byte数组?