Длина двоичной строки мод 64 - PullRequest
0 голосов
/ 17 января 2019

После прочтения двоичного файла и перехода к шестнадцатеричному формату, длина которого равна 16384, необходимо изменить значение 64, чтобы разделить 16384 на строку 256.

Я пытаюсь использовать список для хранения, но список добавляется один раз, возможно, что-то не так с моим циклом.

list<string)test = new list<string>test();
foreach(byte b in hexArray)
{
   hexstring += string.Format("{0:x2}",b);
   int length = hexstring.length /64;  //total length will have 16384

    if(length == 64)
    {
       for(int ix= 0; ix <= length; ix++)
       {
            test.add(hexstring);
       }
    }
}

Ожидаемый результат:

abe12112121212 ..... (64)

21212212садада ..... (64)

всего будет иметь (256) строку

1 Ответ

0 голосов
/ 17 января 2019

Вы добавляете hexstring бесконечно. Я думаю, вы должны установить hexstring null или empty после проверки длины, а также вам не нужно for loop, чтобы добавить строку в List.

foreach (byte b in hexArray) {
    // If you want to print 64 characters per each hexstring
    // you can simply check length > 0 && length % 64 == 0
    if (hexstring.Length > 0 && (hexstring.Length % 64) == 0) {
        test.Add(hexstring);
        hexstring = string.Empty;
    }
}

// Print rest of hexstring (if exists)
if (hexstring.Length > 0) {
    test.Add(hexstring);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...