大家好,我正在尝试弄清楚如何在 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中的字节数组吗?