如何在java中处理字节序列?
Posted
技术标签:
【中文标题】如何在java中处理字节序列?【英文标题】:How to process sequence of bytes in java? 【发布时间】:2013-11-11 16:49:55 【问题描述】:我有字节流,当我得到特定的标头时,我需要将这些字节形成一个帧。 示例:
Header: ABC
Source: DFDFDFDF'ABC'IEJENFAREABCOEKRERIERE
如果检测到 ABC,则字符串中的其余字节 'IE'
和字符串中的 'JEN'
和字符串中的 'FARE'
并再次检测到 ABC,因此字符串中的 'OE'
... 同样我的必须处理字节流。
有什么有效的方法来处理它吗?
【问题讨论】:
【参考方案1】:如果您有超过 1 个标头,我建议使用 Finite State Machines。但是,如果只有一个,简单的模式匹配就足够了。
您所要做的就是从先前创建的帧开始存储字符。每当你读到一个字符时,更新你的状态。如果找到了标题的结尾,那么您就得到了框架。如果没有,您可以将字符附加到不完整的框架中。
【讨论】:
以上是关于如何在java中处理字节序列?的主要内容,如果未能解决你的问题,请参考以下文章