так ребят, не наступите на грабли! Я час потратил чтоб разобраться! Символы переведённые способом char(), переводятся все и получается что даже не видимые символы могут потом складываться с видимыми давая чудесные результаты!
вот окончательный код сборки строки.
через | выводится что поддерживает данная станция.
PHP код:
if(canId == 293) // 125HEX
{
if ((buf[0] >> 4) == 0x01)
{
LengthP = ((buf[0] & 0x0F) * 256 + buf[1]) - 6;
DataBufSize = 2;
DataBuf[0]=buf[6];
DataBuf[1]=buf[7];
}
if(((buf[0] >> 4) == 0x02) && LengthP > 0){
if (LengthP > 8)
{
for (int i=1; i < 8;i++) DataBuf[i + DataBufSize - 1] = buf[i];
DataBufSize = DataBufSize + 7;
LengthP = LengthP - 7;
}
else{
for (int i=1; i < LengthP+1;i++) DataBuf[i + DataBufSize - 1] = buf[i];
DataBufSize = DataBufSize + LengthP;
//OUT OF MESSAGE
for (int c=0; c < DataBufSize/9;c++){
String strmsg;
for (int i= 9*c; i < (9*c)+8;i++){
if (DataBuf[i] > 31) strmsg = strmsg + char(DataBuf[i]);
else strmsg = strmsg + " ";
}
strmsg = strmsg + "|" + String(DataBuf[(9*c)+8]);
Message[c] = strmsg;
}
for (int i=0; i < DataBufSize/9;i++) Serial.println(Message[i]);
}
}
}