Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232

Байты в строку, а затем припаять к textBlock

28.01.2020, 21:49. Показов 3889. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер,


Как в событии кнопки преобразовать байты в строку, а затем припаять к textBlock.

Есть такой код,

C#
1
2
3
4
5
6
7
public static string ByteArrayToString(byte[] ba)
{
  StringBuilder hex = new StringBuilder(ba.Length * 2);
  foreach (byte b in ba)
    hex.AppendFormat("{0:x2}", b);
  return hex.ToString();
}
затрудняюсь как с ним обращаться.
Например ten_bytes содержит массив 10 байт.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.01.2020, 21:49
Ответы с готовыми решениями:

байты в строку
как можно перевести 4 байта F1 08 25 12 а строку А1082512 ?

Байты в строку
Люди помогите считать с реестра REG_BINARY в строку memo1 var byt: byte; reg:=TRegistry.Create; ...

Как перевести в строку все байты сразу?
у меня есть не много, не мало 3531 штук байтов такого вида 123,213,34,342,324 , их все надо перевести в строку, сделать это можно вот так:...

44
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
03.02.2020, 21:23
Лучший ответ Сообщение было отмечено кружок-ДДТ как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
должно получиться что-то вроде "пробел0003024" или просто "0003024". Или просто "3024" вообще без впереди стоящих нулей.
С каких пор 0x2030303033303234 = 3024 ?

Как вы из этой последовательности байт получаете число 3024 ?
C#
1
            long num = 0x20_30_30_30_33_30_32_34; // 2319406791671165492
Добавлено через 9 минут
кружок-ДДТ, по-моему, понял.
Это у вас ASCII коды и надо получить строку.
C#
1
            string value = string.Concat(bytes.Select(b => (char)b));
Добавлено через 1 минуту
bytes - может быть любой длины. До 1Гб.
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
04.02.2020, 08:47  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
кружок-ДДТ, по-моему, понял.
Это у вас ASCII коды и надо получить строку.
Моя вина, для меня это было очевидно, что это ASCII в hex. Вам не сказал эту тонкость.

Склейка Chars работает как надо.


назад к WPF:


Скажите, а почему такая разница?

Полученное "склеенное" value

делаю так:

C#
1
TexBox1.text = value // обновляется моментально.
и через XAML:

C#
1
TextBox1_property_value = value; // обновляется после открыл, закрыл приложение

Сам XAML выглядит так:

XML
1
2
3
4
5
 <TextBlock
                    x:Name="TextBlock1"
                    Grid.Column="0"
                    Margin="2,2,8,2"                 
                    Text="{Binding TextBox1_property_value, UpdateSourceTrigger=PropertyChanged}" />
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
04.02.2020, 09:37
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Скажите, а почему такая разница?
У TextBox1_property_value должно быть уведомление об изменении значения через INPC.
Посмотрите темы в подписи моего поста.
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
04.02.2020, 15:39  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
У TextBox1_property_value должно быть уведомление об изменении значения через INPC.
Посмотрите темы в подписи моего поста.
Интересно, в обратную сторону, в случае TextBlock, никакого INPC не требуется. Чтобы получить данные в свойство.

Посмотрел темы в подписи, и создал новую. InotifyPropertyChanged и TextBlock (для самых маленьких)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
04.02.2020, 18:05
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Интересно, в обратную сторону, в случае TextBlock, никакого INPC не требуется. Чтобы получить данные в свойство.
Ещё как требуется!
TextBlock.Text - это просто удобная обёртка над статическим DependencyProperty TextBlock.TextProperty.
А это гораздо хлеще и мощнее чем какой-то простенький INPC.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
04.02.2020, 18:23
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Склейка Chars работает как надо.
Есть ещё дефолтный метод - сразу что-то в голову не прищёл.
C#
1
string value = ASCIIEncoding.GetString(bytes, 0, 8);
Первый параметр - массив байт,
второй - индекс первого байта,
третий - количество конвертируемых байт.
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 14:23  [ТС]
Здравствуйте Элд Хасп, рабочим ответом тогда было.

C#
1
Result = string.Concat(comingResult.Select(b => (char)b));
где Result - свойство string типа.


Вопрос, а как сделать для, например, свойства long типа?

спасибо.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 14:30
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Вопрос, а как сделать для например свойства long типа.
Не понял.
Как строку присвоить long свойству?
0
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 14:32  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Не понял.
Как строку присвоить long свойству?
Как конвертировать правую часть уравнения в long, чтобы присвоить long свойству?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 14:33
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Как конвертировать правую часть уравнения в long, чтобы присвоить long свойству?
С права же строка.
Значит long.Parse().
0
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 14:38  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
С права же строка.
Значит long.Parse().
да вот много чего пробовал и это тоже, ошибка.

В var comingResult я получаю 8 bytes.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 15:05
Лучший ответ Сообщение было отмечено кружок-ДДТ как решение

Решение

Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
да вот много чего пробовал и это тоже, ошибка.
В var comingResult я получаю 8 bytes.
C#
1
2
Result = string.Concat(comingResult.Select(b => (char)b));
long num = long.Parse(Result);
Добавлено через 1 минуту
В comingResult у вас по прежнему ASCII коды симвлов?
Или 8 байт типа long?
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 15:38  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
В comingResult у вас по прежнему ASCII коды симвлов?
Или 8 байт типа long?
не чистый long, а 8 bytes ASCII кодов в var comingResult.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 15:50
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
не чистый long, а 8 bytes ASCII кодов в var comingResult.
Тогда как я показал выше.
Сначала в строку, а потом методом long.Parse().

Добавлено через 2 минуты
Но для 8 ASCII - это максимум 8 десятичных знаков.
Для них хватит и int.
0
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 17:36  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Для них хватит и int.
Взял long с запасом, т.к. не знаю точно что может ссчитаться long или int.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 17:43
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
Взял long с запасом, т.к. не знаю точно что может ссчитаться long или int.
int - 9,5 знаков (десятый не полный).
long - почти 19 знаков.
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 21:33  [ТС]
Элд Хасп,

WPF.



текущий StringFormat=0\,##0 , показывает 0,009

Перепробовал всяко, не могу получить 0,9 в Тесктблоке.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 21:44
кружок-ДДТ, создайте тему и толком опишите, что у вас в этом свойстве.
Какое там значение в действительности.
Формат может только изменить Представление числа, но само число изменить не может.
Если у вас 0.009, то ни каким Форматом вы из него 0.9 не получите.

StringFormat работаете через метод ToString(формат) и выводит тоже самое.
C#
1
2
double num = 0.009;
Console.WriteLine(num.ToString("0,##0")); // Что выведет?
1
10 / 10 / 1
Регистрация: 10.09.2019
Сообщений: 232
16.11.2020, 21:46  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если у вас 0.009, то ни каким Форматом вы из него 0.9 не получите.
подозревал.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.11.2020, 21:50
Цитата Сообщение от кружок-ДДТ Посмотреть сообщение
подозревал.
Попробуйте вывести процентным форматом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2020, 21:50

Как строку разбитую на байты перевести в нормальное состояние?
%D1%81%D0%BB%D0%BE%D0%B2%D0%BE рак строку разбитую на байты перевести в нормальное состояние средствами javascript

Написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти байты в выходной файл
Здравствуйте!В убунту на Си нужно написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти...

Декодировать байты (в base64) в просто байты
Добрый день, нужно декодировать байты, которые зашифрованы в base64 в нормальные баты вот код : internal sbyte mSecret; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru