Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как в С# Byte[] перевести в Int и String

22K
06 апреля 2007 года
PLINT
4 / / 25.01.2007
Задача такая, надо полученные с COM-port байты (Byte[]) Вернуть в Int и String. В С++ это очень просто делается через указатели, а в C# как?
273
06 апреля 2007 года
3A3-968M
1.2K / / 22.12.2005
Очень легко, в случае с целочисленным типом:
 
Код:
[SIZE=2][COLOR=#0000ff][FONT=Courier New]byte[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][] receiver = [/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New][8];[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#008080]BinaryReader[/COLOR][/SIZE][SIZE=2] bufferReader = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]BinaryReader[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]MemoryStream[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New](receiver)))[/FONT]
[FONT=Courier New]{[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]  int[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] nValue = bufferReader.ReadInt32();[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]  short[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] wValue = bufferReader.ReadInt16();[/FONT]
[FONT=Courier New]}[/FONT]
[/SIZE]

В случае со строкой - нужно знать кодировку, в которую надо преобразовать байты, чтобы получить текст, пример с UTF-32:
 
Код:
[SIZE=2][COLOR=#008080][FONT=Courier New]Encoding[/FONT][/COLOR][/SIZE][SIZE=2][FONT=Courier New].UTF32.GetString(receiver);[/FONT]
[/SIZE]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог