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

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

28.01.2020, 21:49. Показов 3896. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru