gpt4 book ai didi

c# - 字节转二进制

转载 作者:行者123 更新时间:2023-11-30 18:54:11 26 4
gpt4 key购买 nike

我有 FLV 文件,我将它存储到字节数组中,我可以逐字节读取它。我想将每个字节转换为二进制 0 和 1

我想将变量 b 转换为二进制 1s 0s。例如,如果 b = 70 如何将其转换为二进制

我可以在 C# 中使用什么函数来做到这一点??

这是我读取 FLV 文件并将其存储为字节数组的代码。

byte[] myArray = System.IO.File.ReadAllBytes(@"myFlvFile.flv");

int r = 0;
foreach (var b in myArray)
{
r += 1;
txtBit.Text = Environment.NewLine + Convert.ToString(b);

if (r == 50)
return;
}

最佳答案

如果你想要一个位串:

byte b = 100;

//Will be "1100100"
var bitstring = Convert.ToString(b, 2);

因此在您的示例中,只需添加 , 2

第二个参数是您要使用的基数。

  • 2 = 二进制 (0 - 1)
  • 8 = 八进制 (0 - 7)
  • 16 = 十六进制 (0 - F)

其次,我对你的代码做了一点改进 :) 这样做:

byte[] myArray = System.IO.File.ReadAllBytes(@"myFlvFile.flv");

for (r = 0; r < 50; r++)
{
txtBit.Text = Environment.NewLine + Convert.ToString(myArray[r], 2);
//Or if you want to append instead of replace? (I think you do, but that is not what your code do)
txtBit.Text += Environment.NewLine + Convert.ToString(myArray[r], 2);
}

还有一些东西需要改进——你可能想看看 StringBuilder 或类似的 :-)(按照你的方式连接文本效率很低。)

关于c# - 字节转二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com