【问题标题】:How to process sequence of bytes in java?如何在java中处理字节序列?
【发布时间】:2013-11-11 16:49:55
【问题描述】:

我有字节流,当我得到特定的标头时,我需要将这些字节形成一个帧。 示例:

Header:    ABC  
Source:    DFDFDFDF'ABC'IEJENFAREABCOEKRERIERE

如果检测到 ABC,则字符串中的其余字节 'IE' 和字符串中的 'JEN' 和字符串中的 'FARE' 并再次检测到 ABC,因此字符串中的 'OE'... 同样我的必须处理字节流。

有什么有效的方法来处理它吗?

【问题讨论】:

    标签: java string char bytearray bytebuffer


    【解决方案1】:

    如果您有超过 1 个标头,我建议使用 Finite State Machines。但是,如果只有一个,简单的模式匹配就足够了。

    您所要做的就是从先前创建的帧开始存储字符。每当你读到一个字符时,更新你的状态。如果找到了标题的结尾,那么您就得到了框架。如果没有,您可以将字符附加到不完整的框架中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多