Как правильно распарсить поток данных из файла и преобразовать его в 16ричный формат

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by zog777, 20 Dec 2011.

  1. zog777

    zog777 New Member

    Joined:
    1 Aug 2011
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Подскажите пожалуйста как преобразовать тот поток что читается из любого файла в 16ричный вид. Я нашел пример кое чего готового, но там в датагрид пишутся просто цифры видимо это не совсем то. А мне нужно чтобы все это было в 16-ричном виде, а пустые регионы hex-файла заполнялись символом "--" Вообщем мне нужно сделать полноценный hex-редактор. Но для начала сделать хотя бы написанное выше. Вот тот метод что уже есть, но мне кажется он не правильно работает.

    Code:
    public void Bytes_To_Grid()
            {                                   
                int j=0;
                for (int i=0; i<myBytes.Length; i+=16)
                {                
                    string[] myStringArr = new string[17];
                   
                    myStringArr[0] = j.ToString();                
                    for (int k=0; k<=15 & i+k<myBytes.Length; k++) 
                    {
                        //_mymainwindow.MoveStatus(((i + k) / myBytes.Length * 100).ToString() + "% Completed", 0, myBytes.Length, i + k);                    
                        myStringArr[k+1]=myBytes[i+k].ToString();
                    }
                    oTable.Rows.Add(myStringArr);
                    j++;
                }            
                dataGrid1.ItemsSource = oTable;
            }
     
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Тебе НУЖНО что-то сделать, но тебе КАЖЕТСЯ что ЧТО-ТО работает не так?
    Разберись что именно работает не так, и тогда вполне возможно получишь помощь
     
  3. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Ну так и в чем проблема то?
    Для того что бы представить значения байта в hex строке, можно использовать либо BitConverter либо в String.Format(Format) указать формат - "{0:X}".
    RTFM как бы.
     
  4. zog777

    zog777 New Member

    Joined:
    1 Aug 2011
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    аа все понял спасибо , надеюсь поможет
     
    #4 zog777, 20 Dec 2011
    Last edited: 20 Dec 2011
  5. zog777

    zog777 New Member

    Joined:
    1 Aug 2011
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    эмм скажите а возможно еще этот поток битов в ASKII как нибудь сконвертить ? там вроде такого метода просто нет :(
     
    #5 zog777, 21 Dec 2011
    Last edited: 21 Dec 2011
  6. mrazota

    mrazota New Member

    Joined:
    8 Dec 2011
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    Encoding.ASCII
     
  7. zog777

    zog777 New Member

    Joined:
    1 Aug 2011
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    спасибо :)