C#关于字节数组转换为二进制字符串方法

时间:2023-01-11 14:01:38
1:比如byte[] array = { 0x00,0xFF, 0xAB };
转换成01字符串=00000000,11111111,10101011


2:取字符串中的1010(二进制),怎么计算=A(十六进制)
不用直接乘的方法

谢谢指点呀

8 个解决方案

#1


咋没人给力呀,谢谢

#2


System.Convert.ToString(buffer[0],   2); 

#3


public int Get(byte by)
{
    int nCount = 0;
    byte byBit = 1;
    for (int i = 0; i < 8; i++)
    {
        if ((by & byBit) != 0)
            nCount++;
        byBit <<= 1;
    }
    return nCount;
}

#4


System.Convert.ToString(buffer[0], 2);这个方法不能转换象5转换过来以后是101,而不是我想要的0101。

#5


public int Get(byte by)
{
  int nCount = 0;
  byte byBit = 1;
  for (int i = 0; i < 8; i++)
  {
  if ((by & byBit) != 0)
  nCount++;
  byBit <<= 1;
  }
  return nCount;
}

这个方法是把字节转换成整数,而我是将字符串转换成整数,不过还是谢谢上面两位

#6


当然上面一位的方法把字节转换为整数,那怎样把字符串的1010转化为字节1010,这好像也比较麻烦

#7


            byte[] array = { 0x00, 0xFF, 0xAB };
            string binary = Convert.ToString(array[0], 2).PadLeft(8, '0');
            Console.WriteLine(binary);
            string bin = "1010";
            string hex = Convert.ToString(Convert.ToInt32(bin, 2), 16).ToUpper();
            Console.WriteLine(hex);

#8


用Convert这个转换函数

#1


咋没人给力呀,谢谢

#2


System.Convert.ToString(buffer[0],   2); 

#3


public int Get(byte by)
{
    int nCount = 0;
    byte byBit = 1;
    for (int i = 0; i < 8; i++)
    {
        if ((by & byBit) != 0)
            nCount++;
        byBit <<= 1;
    }
    return nCount;
}

#4


System.Convert.ToString(buffer[0], 2);这个方法不能转换象5转换过来以后是101,而不是我想要的0101。

#5


public int Get(byte by)
{
  int nCount = 0;
  byte byBit = 1;
  for (int i = 0; i < 8; i++)
  {
  if ((by & byBit) != 0)
  nCount++;
  byBit <<= 1;
  }
  return nCount;
}

这个方法是把字节转换成整数,而我是将字符串转换成整数,不过还是谢谢上面两位

#6


当然上面一位的方法把字节转换为整数,那怎样把字符串的1010转化为字节1010,这好像也比较麻烦

#7


            byte[] array = { 0x00, 0xFF, 0xAB };
            string binary = Convert.ToString(array[0], 2).PadLeft(8, '0');
            Console.WriteLine(binary);
            string bin = "1010";
            string hex = Convert.ToString(Convert.ToInt32(bin, 2), 16).ToUpper();
            Console.WriteLine(hex);

#8


用Convert这个转换函数