Считывание данных, кодировка

241
04 марта 2018, 21:24

Есть GPS блок, установленный на транспорте, есть сервер, который получает от него данные в виде 16-ричного числа. В документации к блоку написано
First when module connects to server, module sends its IMEI. IMEI is sent the same way as encoding barcode. First comes short identifying number of bytes written and then goes IMEI as text (bytes). For example IMEI 123456789012345 would be sent as 000F313233343536373839303132333435
Я получаю данные в таком виде как на примере :000F313233343536373839303132333435, вопрос, как мне из этого 000F313233343536373839303132333435 получить это 123456789012345?
ПО принимающее данные пишу на C#.

Answer 1

У вас, очевидно, передаются байты, соответствующие ASCII-коду. Поэтому вам нужно что-то такое (пишу псевдокод, т. к. не знаю, каким образом вам доставляются данные):

short length = ReadShort(); // или BitConverter.ToInt16(ReadBytes(2), 0)
string imei = Encoding.ASCII.GetString(ReadBytes(length));

Если нужно получить число, то используйте int.Parse.

READ ALSO
Как добавить объекты в Scroll View из скрипта

Как добавить объекты в Scroll View из скрипта

Как добавить объекты в Scroll View из скрипта который висит на этом скроле?

265
Реклама в движке Unity

Реклама в движке Unity

Как можно реализовать в движке unity,рекламу что бы она высвечивалась через определенное количество времени ?

234
Различие в инициализации коллекции List обычным способом и через индексацию

Различие в инициализации коллекции List обычным способом и через индексацию

Просто приведу два кусочка кода, которые должны быть идентичны по реализации

242
Определение высоты и ширины ListBoxItem

Определение высоты и ширины ListBoxItem

Необходимо получить высоту элементов ListBox'a с кастомным DataTemplate'омВ ListBox элементы добавляются с использование класса, в котором и должны быть...

232