使用STX,ETX和DLE进行Java字节消息验证

时间:2017-02-06 18:35:31

标签: java algorithm validation byte

大家好我想弄清楚如何在Java中检查字节消息验证。假设:

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

有效消息是以STX开头且具有DLE并以和ETX结尾的消息。

如何根据上述值检查消息是否有效???

{{1}}

我不是要求获取任何类型的代码,我只需要弄清楚如何处理这个特定的问题。任何想法都会受到很多关注。感谢。

1 个答案:

答案 0 :(得分:0)

简单快捷的方法 - 使用finite-state machine(自动机) 初始状态为“WaitForSTX”,然后状态变为“WaitForDLE”,然后变为“WaitForETX”。如果自动机处于“WaitForETX”状态并且遇到ETX字节,则表示处理成功。

P.S。正则表达式可以应用于Java中的字节数组吗?