为了账号安全,请及时绑定邮箱和手机立即绑定

将二进制字符串表示形式转换为字节数组

将二进制字符串表示形式转换为字节数组

C#
qq_遁去的一_1 2019-11-19 09:53:42
如何将诸如“ 0111010001100101011100110111110100”之类的字符串转换为字节数组,然后使用File.WriteAllBytes使得确切的二进制字符串是文件的二进制文件。在这种情况下,它将是文本“ test”。
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

如果您没有这种LINQ恋物癖,那么最近很常见,您可以尝试正常的方法


string input ....

int numOfBytes = input.Length / 8;

byte[] bytes = new byte[numOfBytes];

for(int i = 0; i < numOfBytes; ++i)

{

    bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2);

}

File.WriteAllBytes(fileName, bytes);

LINQ很棒,但是必须有一些限制。


查看完整回答
反对 回复 2019-11-19
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

有点晚了,但这是我的2美分:


var binaryStr = "01110100011001010111001101110100";


var byteArray = Enumerable.Range(0, int.MaxValue/8)

                          .Select(i => i*8)

                          .TakeWhile(i => i < binaryStr.Length)

                          .Select(i => binaryStr.Substring(i, 8))

                          .Select(s => Convert.ToByte(s, 2))

                          .ToArray();

File.WriteAllBytes("C:\temp\test.txt", byteArray);


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 1048 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信