Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.02.2014, 01:26   #1
digiwo
Пользователь
 
Аватар для digiwo
 
Регистрация: 13.01.2014
Сообщений: 45
По умолчанию Как лучше сделать string -> byte[]

Имею команду которую посылаю как массив byte[].
Код:
byte[] request = new byte []{ 0x14, 0x18, 0x45, 0x01, 0x31, 0x32, 0x33, 0x34, 0x00, 0xff, 0xff, 0x01, 0x01, 0x46, 0x49, 0x58, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x00, 0xD6, 0x03};
Красным помеченные места меняются динамически.
0x14 это длина следующих помеченным красным значение.
0x31, 0x32, 0x33, 0x34 это ID который у меня есть как стринг.

Не подскажете как можно динамически менять эти значения при ассоциации массива?
digiwo вне форума Ответить с цитированием
Старый 12.02.2014, 03:46   #2
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,824
По умолчанию

В помощь: Преобразование String в Byte.
Streletz вне форума Ответить с цитированием
Старый 12.02.2014, 12:13   #3
digiwo
Пользователь
 
Аватар для digiwo
 
Регистрация: 13.01.2014
Сообщений: 45
По умолчанию

Сорри наверное не точно спросил. Преобразовать я могу. Мне нужно вставить их в инициализация массива.
Пример
Код:
byte[] request = new byte []{ var.length, 0x18, 0x45, 0x01, var , 0x00, 0xff, 0xff, 0x01, 0x01, 0x46, 0x49, 0x58, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x00, 0xD6, 0x03};
то есть добавлять те значения что мне нужно динамически.
digiwo вне форума Ответить с цитированием
Старый 12.02.2014, 12:21   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

создаете новый массив, и вписываете туда нужные значения, в чем проблема-то?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 12.02.2014, 15:03   #5
digiwo
Пользователь
 
Аватар для digiwo
 
Регистрация: 13.01.2014
Сообщений: 45
По умолчанию

Вот это то у меня и не получается. Не могу найти как.
digiwo вне форума Ответить с цитированием
Старый 12.02.2014, 15:29   #6
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Тогда создавайте список (List<byte>), добавляйте в него нужные элементы (метод Add()), а потом конвертируйте его в массив (Метод ToArray())
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 12.02.2014, 15:32   #7
digiwo
Пользователь
 
Аватар для digiwo
 
Регистрация: 13.01.2014
Сообщений: 45
По умолчанию

Спасибо. Я тоже уже к этому пришел, чтоб через лист попробовать.
digiwo вне форума Ответить с цитированием
Старый 12.02.2014, 15:49   #8
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

В случае с листом просто не нужно заранее вычислять длину, в отличие от массива)
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 12.02.2014, 18:05   #9
digiwo
Пользователь
 
Аватар для digiwo
 
Регистрация: 13.01.2014
Сообщений: 45
По умолчанию

Вроде решил, у меня проблема была с преобразованиями, но теперь вроде всё работает. Списком и так удобнее работать чем с массивом. И переконвертировать быстро если что можно.
digiwo вне форума Ответить с цитированием
Старый 13.02.2014, 19:54   #10
xtimonx5
Новичок
Джуниор
 
Регистрация: 13.02.2014
Сообщений: 2
По умолчанию

Код:
string mes = Encoding.ASCII.GetString(byte[]);
xtimonx5 вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с кодом в Pascal: ошибка преобразования типа byte к string THE LOGOS Помощь студентам 16 14.01.2014 20:38
как лучше сделать yuta_86 SQL, базы данных 0 26.09.2012 08:48
Перевод из переменной типа string в byte AnderoN Помощь студентам 2 09.05.2011 12:20
byte - string fize Помощь студентам 4 10.01.2010 02:33
Подскажите как лучше сделать Gendolff БД в Delphi 1 10.02.2007 08:47


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя