Я пытаюсь преобразовать массив байтов в строку в двоичном формате, но Convert.ToString() возвращает неожиданные результаты. Не могли бы вы рассказать мне, что я делаю неправильно? Вот код:C# преобразование байтового массива в строку
class Program
{
static void Main(string[] args)
{
StringBuilder str = new StringBuilder();
byte[] x = { 0xB1, 0x53, 0x63 };
for (int i = 0; i < 3; i++)
{
str.Append(Convert.ToString(x[i], 2));
}
Console.WriteLine(str);
Console.ReadLine();
}
}
Выход:
Я ожидал, что выход будет:
1011_0001_0101_0011_0110_0011 (0xB15363)
И не:
1011_0001_1010_0111_1000_11
ты гугле это также 'SO' есть несколько примеров, а также HTTP://stackoverflow.com/questions/11654562/how-convert-byte-array-to-string – MethodMan
Я не совсем понимаю вопрос. Вы действительно ожидали, что там будут подчеркивания? Если нет, пожалуйста, не затрудняйте вопрос, предоставив что-то иное, чем ожидаемый вывод _actual_ literal, который был выведен. –
Нет, я не ожидал, что вывод будет содержать символы подчеркивания, я хотел бы облегчить чтение – Cristi