Nếu Tôi hiểu chính xác, bạn có 20 v những thứ bạn muốn chuyển đổi, vì vậy nó chỉ là một sự thay đổi đơn giản của chiếc mũ bạn đã viết.
Để thay đổi byte duy nhất để chuỗi 8 char: Convert.ToString(x, 2).PadLeft(8, '0')
Để thay đổi mảng đầy đủ:
byte[] a = new byte[] { 1, 10, 100, 255, 200, 20, 2 };
string[] b = a.Select(x => Convert.ToString(x, 2).PadLeft(8, '0')).ToArray();
// Returns array:
// 00000010
// 00010100
// 11001000
// 11111111
// 01100100
// 00001010
// 00000001
Để thay đổi mảng byte của bạn để chuỗi duy nhất, với byte tách biệt với không gian:
byte[] a = new byte[] { 1, 10, 100, 255, 200, 20, 2 };
string s = string.Join(" ",
a.Select(x => Convert.ToString(x, 2).PadLeft(8, '0')));
// Returns: 00000001 00001010 01100100 11111111 11001000 00010100 00000010
nếu thứ tự byte không đúng sử dụng IEnumerable.Reverse():
byte[] a = new byte[] { 1, 10, 100, 255, 200, 20, 2 };
string s = string.Join(" ",
a.Reverse().Select(x => Convert.ToString(x, 2).PadLeft(8, '0')));
// Returns: 00000010 00010100 11001000 11111111 01100100 00001010 00000001
tương tự, nhưng ngược lại: http://stackoverflow.com/questions/72176/using-c-what-is-the-most-efficient-method-of- convert-a-string-contains-bi –