2017-02-06 2 views
0

Привет, ребята, я пытаюсь выяснить, как проверить проверку байтового сообщения на Java. Предположим, что:Проверка байт-сообщения Java с помощью STX, ETX и DLE

STX = 0x02 bytes //start text data. 
    ETX = 0x03 bytes // end text data. 
    DLE = 0x04 bytes //data link escape. 

Действительное сообщение - это сообщение, которое начинается с STX, имеет DLE и заканчивается с ETX.

Как проверить, действительно ли сообщение соответствует указанным выше значениям ???

 byte[] message = 
     { 0x02, 0x10, 0x02, 0x10, 0x10, 0x07, 0x08, 0x03, 0x14 }; 

Я не прошу получить какой-либо код Мне просто нужно выяснить, как подойти к этой конкретной проблеме. Любые идеи были бы очень полезны. Благодарю.

ответ

0

Простой и быстрый подход - используйте finite-state machine (автомат).
Начальное состояние - «WaitForSTX», затем состояние изменяется на «WaitForDLE», затем на «WaitForETX». Если автомат находится в состоянии «WaitForETX» и соответствует байту ETX, он успешно завершается.

P.S. Могут ли регулярные выражения применяться к массивам байтов в Java?

+0

Спасибо за ваш ответ. Я посмотрю, и я не утверждаю, что регулярные выражения могут применяться в массивах байтов (не совсем точно). – Kristo

Смежные вопросы