Как преобразовать char в string? С нулём

CivicEG
Offline
Зарегистрирован: 12.09.2014

Как преобразовать char в string если в char есть нули! (ноль воспринимается - как конец строки)

то есть 

 
char msgCan[128]; 
String stringTest = "";
 
 
 
Serial.print(msgCan);
в порт кидает строку ID 00600480 - 0xFF 0x00 0x1F 0x03 0x1E 0x03 0xFF 0xC1
 
String stringTest =  String(msgCan);
Serial.print(stringTest);
конвертируем char в string и кидаем в порт получаем только! 0xC1
 
а нужно в стринге наблюдать полный чар! что бы использовать поиск по тексту .indexOf("
Парни какие варианты есть?
b707
Offline
Зарегистрирован: 26.05.2017

CivicEG пишет:

Парни какие варианты есть?

не использовать String. Этот тип не предназначен для хранения бинарных данных, только для текста. Да и искать функцией IndexOf в двоичных данных - это бред.

Обрабатывайте данные как они есть - как двоичные.

CivicEG
Offline
Зарегистрирован: 12.09.2014

b707 пишет:

не использовать String. Этот тип не предназначен для хранения бинарных данных, только для текста. Да и искать функцией IndexOf в двоичных данных - это бред.

Обрабатывайте данные как они есть - как двоичные.

Ко мне приходят данные с кан шины я знаю ID и знаю что там восемь байтов. Мне нужно дастать пятый байт конвертировать его и получу температуру которая там заложена.

Натолкните на путь истиный) конкретно с чего начать 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

union Ident {

uint8_t bytebuff[8];

uint64_t  Id;

}

читаешь 8 байт в Id, достаешь пятый байт из bytebuff[4];