7E 44 0 0 FF FF 0 0 5 20 10 1 1 1 1 1 4B C1 7E 이렇게 한패킷으로 받았을때
byte 배열에 이데이터를 받으면
byte[4]할 경우에는 4만 받아지고
byte[5]만 할 경우에는 4만 이렇게 한바이트씩 받게되는데
저는 7E 44 이렇게 띄어쓰기로 한 문자씩 구분되어 있는데
44이렇게 받아야 합니다. byte[4]로는 그래서 안됩니다.
어떻게 처리해야될까 고민이 되는데 split을 이용해서 여백을 구분해서 저장을 해야하는지 아니면 어떻게 해야 44이렇게 두바이트씩 받아서 textbox에 띄울수 있을지 도움주시면 감사하겠습니다.
byte[4], byte[5]가 모두 4라면....
통신을 binary 가 아닌 TEXT형태인가 봅니다.
TEXT 형태라면 2개씩 묶어서 처리할수 있는데,
UInt16 uData = Convert.ToUInt16(byte[4])<<8 + Convert.ToUInt16(byte[5]) 로 하시면 됩니다.
단, 7E 44 처럼 2바이트로 끝어서 처리를 해야 항상 일정한 값이 나오는 것이니
0 이나 1 같은 경우도 00 이나 01 같이 2바이트로 처리를 해줘야 합니다.
질문에 올려 주신 7E 44 0 0 FF FF 0 0 5 20 10 1 1 1 1 1 4B C1 7E 의 데이터가 어떻게 나왔는지 코드를 남겨 주셔야 (어떤 형태로 데이터를 처리했는지 알아야)
좀더 자세한 답변을 드릴수 있습니다.