Прочитайте hex в C #, используя IO - PullRequest
1 голос
/ 10 апреля 2011

Я перехожу с C # на Java и не могу найти никакой информации по этому вопросу.Я пытаюсь прочитать, если файл с использованием hex, в Java я использую ...

        String s = Integer.toHexString(hexIn);
        if(s.length() < 2){
            s = "0" + Integer.toHexString(hexIn);
        }

Как я уверен, вы знаете, вот так, если считываемый байт длиной один символ добавляет нольчтобы сделать его шестнадцатеричным, я хочу сделать то же самое для c #, пока у меня есть ...

        StreamReader reader = new StreamReader(fileDirectory);
        long stickNoteLength = fileDirectory.Length;

        int hexIn;
        String hex = "";

        for (int i = 0; (hexIn = reader.Read()) != -1; i++)
        {

        }

Теперь я застрял, извините, если это простой вопрос, и спасибо за вашу помощь:)

Ответы [ 2 ]

3 голосов
/ 10 апреля 2011
string hex = String.Format("{0:X2}", hexIn);

С этой маской форматирования вы получите числа от 0 до 32 (например):

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F

Я добавил 2 (0:X2), потому что выупомянул, что вы читаете байт .Обратите внимание, что для представления шестнадцатеричных чисел также будет правильно добавить 0x в начале строки:

string hex = String.Format("0x{0:X2}", hexIn);
1 голос
/ 10 апреля 2011

Попробуйте это

hex = hexIn.ToString("X");

или

hex = Convert.ToString(hexIn,16);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...