我需要一个转换Byte[]到一个string包含二进制数序列.我无法使用,Encoding因为它只是将字节编码为字符!
例如,拥有这个数组:
new byte[] { 254, 1 };
Run Code Online (Sandbox Code Playgroud)
我想要这个输出:
"1111111000000001"
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 10
您可以将任何数字整数基元转换为其二进制表示形式的字符串Convert.ToString.对byteLINQ中的每个数组执行此操作并连接结果非常简单:
var input = new byte[] { 254 }; // put as many bytes as you want in here
var result = string.Concat(input.Select(b => Convert.ToString(b, 2)));
Run Code Online (Sandbox Code Playgroud)
更新:
上面的代码不会产生每个输入字节恰好有8个字符的结果,这将使得通过查看结果无法知道输入是什么.要获得每字节恰好8个字符,需要进行一些小改动:
var result = string.Concat(input.Select(b => Convert.ToString(b, 2).PadLeft(8, '0')));
Run Code Online (Sandbox Code Playgroud)