c # читать в два байта из строки - PullRequest
0 голосов
/ 17 мая 2011

HI,

Я читаю файл в шестнадцатеричном виде и сохраняю его в виде строки, что мне нужно сделать, это затем прочитать два символа за раз, скажем, у меня есть строка, содержащая

313233343536373839

Мне нужно прочитать 31, затем 32, затем 33

Я новичок в c # и программировании в целом, в моей книге ничего нет, и яне могу найти пример, который бы мне это хорошо объяснял, если бы вы мне посоветовали, я был бы очень рад!

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Если вы хотите преобразовать это представление шестнадцатеричной строки в байтовый массив, вы можете использовать следующее:

string str = "313233343536373839";
byte[] buffer = Enumerable
    .Range(0, str.Length)
    .Where(x => x % 2 == 0)
    .Select(x => Convert.ToByte(str.Substring(x, 2), 16))
    .ToArray();
0 голосов
/ 17 мая 2011
string myString = "313233343536373839";
int strLen = myString.Length;

for (int i=0; i<strLen; i+=2)
{
    string myChars = myString.Substring(i, 2);
    // do something with myChars here ...
}

Был в середине сообщения, когда Дарин написал. Я не думал об этом. Отличная работа, Дарин!

...