使用 STX、ETX 和 DLE 验证 Java 字节消息



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

    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 };

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

简单快速的方法 - 使用有限状态机(自动机(。
初始状态为"WaitForSTX",然后状态更改为"WaitForDLE",然后更改为"WaitForETX"。如果自动机处于"WaitForETX"状态并满足ETX字节,则成功结束。

附言正则表达式可以应用于Java中的字节数组吗?

最新更新