2014-02-18 3 views
2

Я работаю с байтовыми массивами и строками. У меня есть массив байтов, который я модифицирую, а затем использую для создания строки. Я просмотрел много сообщений на этом веб-сайте, которые рекомендуют использовать BlockCopy или System.Text.Encoding.Default.GetString();. Я пробовал те, но по какой-то причине строка, которую я получаю, имеет всех тарабарщиков.Работа с байтовым массивом и строками

Вот проблема и что я ожидаю. Допустит, у меня есть шестнадцатеричная строка байт следующим образом:

string str = "f20bdba6ff29eed7b046d1df9fb70000"; 

Соответствующий массив:

byte[] arrayStr = new byte[] { 0xf2, 0x0b, 0xdb, 0xa6, 0xff, 0x29, 0xee, 0xd7, 0xb0, 0x46, 0xd1, 0xdf, 0x9f, 0xb7, 0x00, 0x00 }; 

Пожалуйста, обратите внимание, что 2 символа в строке выше представляют байты.

Теперь, скажем, я манипулирую arrayStr и изменяю байт на индекс массива 4 (0xff) на (0xe1). Я хочу, что я должен быть в состоянии получить строку таким образом, чтобы:

строка Str = «f20bdba6 e1 29eed7b046d1df9fb70000»;

ответ

1

Посмотрите на BitConverter:

string str = BitConverter.ToString(arrayStr).Replace("-", ""); 
+0

Спасибо lot.That работал .. – CSC

Смежные вопросы