Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 435

HexView в c#

15.07.2011, 23:37. Показов 1492. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
 IPEndPoint ipendpoint = null;
 byte[] message = udp.Receive(ref ipendpoint);
Есть данные которые поступают от сервака через UDP


Как перекодировать эти данные в читабельный вид


пробовал вот так
C#
1
2
3
4
5
6
7
  string hex = BitConverter.ToString(message).Replace("-", string.Empty);
                string StrValue = "";
                     while (hex.Length > 0)
                            {
                                 StrValue += System.Convert.ToChar(System.Convert.ToUInt32(hex.Substring(0, 2), 16)).ToString();
                                 hex = hex.Substring(2, hex.Length - 2);
                             }
Миниатюры
HexView в c#  
1
12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 435
16.07.2011, 12:55  [ТС]
Короче как я понял все упирается в перевод из Hex в Ascii / Посмотрел онлайн сервисы расшифровки 9 из 10 выдали результат как в моей программе. Только одна правильно перевела строку

___http://www.dolcevie.com/js/converter.html

Добавлено через 12 минут
Вот текст который надо перевести
тыц
ff:ff:ff:ff:44:08:00:31:30:34:00:00:00:0 0:00:00:bc:d8:41:00:31:6b:6c:61:24:24:00 :00:00:00:00:00:ac:1f:42:00:53:54:41:4c: 4f:4e:45:00:00:00:00:00:00:57:17:42:00:2 a:5f:30:30:31:5f:2a:00:00:00:00:00:00:50 :22:42:00:52:75:73:29:00:03:00:00:00:00: 87:1f:42:00:45:41:20:37:00:01:00:00:00:0 0:a9:24:42:00:6d:61:68:6d:75:64:61:20:32 :33:00:00:00:00:00:00:5f:12:42:00:44:6f: 77:6e:6c:6f:61:64:20:66:72:6f:6d:20:43:5 3:6d:61:6e:69:61:2e:52:55:00:01:00:00:00 :00:71:20:42


Добавлено через 2 часа 30 минут
аппппп-!!
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
16.07.2011, 13:51
C#
1
2
3
4
5
6
7
8
9
10
11
static void DoWork ( ) {
    var value = "ff:ff:ff:ff:44:08:00:31:30:34:00:00:00:00:00:00:bc:d8:41:00:31:6b:6c:61:24:24:00:00:00:00:00:00:ac:1f:42:00:53:54:41:4c:4f:4e:45:00:00:00:00:00:00:57:17:42:00:2a:5f:30:30:31:5f:2a:00:00:00:00:00:00:50:22:42:00:52:75:73:29:00:03:00:00:00:00:87:1f:42:00:45:41:20:37:00:01:00:00:00:00:a9:24:42:00:6d:61:68:6d:75:64:61:20:32:33:00:00:00:00:00:00:5f:12:42:00:44:6f:77:6e:6c:6f:61:64:20:66:72:6f:6d:20:43:53:6d:61:6e:69:61:2e:52:55:00:01:00:00:00:00:71:20:42";
    var hex = value.Split( ':' );
    byte[] hexInt = new byte[hex.Length];
 
    for ( int i =0; i < hexInt.Length; ++i )
        hexInt[i] = Convert.ToByte( hex[i], 16 );
 
    File.WriteAllBytes( "temp.txt", hexInt );
    Process.Start( "temp.txt" );
}
или с заменой всех не читаемых и русских символов на точки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void DoWork ( ) {
    var value = "ff:ff:ff:ff:44:08:00:31:30:34:00:00:00:00:00:00:bc:d8:41:00:31:6b:6c:61:24:24:00:00:00:00:00:00:ac:1f:42:00:53:54:41:4c:4f:4e:45:00:00:00:00:00:00:57:17:42:00:2a:5f:30:30:31:5f:2a:00:00:00:00:00:00:50:22:42:00:52:75:73:29:00:03:00:00:00:00:87:1f:42:00:45:41:20:37:00:01:00:00:00:00:a9:24:42:00:6d:61:68:6d:75:64:61:20:32:33:00:00:00:00:00:00:5f:12:42:00:44:6f:77:6e:6c:6f:61:64:20:66:72:6f:6d:20:43:53:6d:61:6e:69:61:2e:52:55:00:01:00:00:00:00:71:20:42";
    var hex = value.Split( ':' );
    byte[] hexInt = new byte[hex.Length];
    byte temp;
 
    for ( int i =0; i < hexInt.Length; ++i ) {
        temp = Convert.ToByte( hex[i], 16 );
        hexInt[i] = temp >= 32 && temp <= 126 ? temp : (byte)46;
    }
 
    File.WriteAllBytes( "temp.txt", hexInt );
    Process.Start( "temp.txt" );
}
2
12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 435
16.07.2011, 15:02  [ТС]
C#
1
2
3
4
5
6
7
for (int i = 0; i < hexInt.Length; ++i)
                    {
                        temp = Convert.ToByte(hexs[i], 16);
                        hexInt[i] = temp >= 32 && temp <= 126 ? temp : (byte)46;
                        ss = hexInt[i].ToString();
                        MessageBox.Show(ss);   
                    }
Почему в HexInt хранятся слова а в ss числа ?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
16.07.2011, 15:13
Radzhab, в hexInt и ss хранятся числа (в ss в строковом представлении). Чтобы были символы нужно привести hexInt[i] или temp к char.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static void DoWork ( ) {
    var value = "ff:ff:ff:ff:44:08:00:31:30:34:00:00:00:00:00:00:bc:d8:41:00:31:6b:6c:61:24:24:00:00:00:00:00:00:ac:1f:42:00:53:54:41:4c:4f:4e:45:00:00:00:00:00:00:57:17:42:00:2a:5f:30:30:31:5f:2a:00:00:00:00:00:00:50:22:42:00:52:75:73:29:00:03:00:00:00:00:87:1f:42:00:45:41:20:37:00:01:00:00:00:00:a9:24:42:00:6d:61:68:6d:75:64:61:20:32:33:00:00:00:00:00:00:5f:12:42:00:44:6f:77:6e:6c:6f:61:64:20:66:72:6f:6d:20:43:53:6d:61:6e:69:61:2e:52:55:00:01:00:00:00:00:71:20:42";
    var hex = value.Split( ':' );
    byte temp;
    var sb = new StringBuilder( hex.Length );
 
    for ( int i = 0; i < hex.Length; ++i ) {
        temp = Convert.ToByte( hex[i], 16 );
        sb.Append( (char)( temp >= 32 && temp <= 126 ? temp : 46 ) );
    }
 
    Console.WriteLine( sb.ToString() );
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru