vb.net 分割byte数组的方法SplitBytes

以下代码随手写的 并没有大量测试 效率也有待提升 如果需要C#的请自行转换

    Function SplitBytes(Data As Byte(), Delimiter As Byte()) As List(Of Byte())
        Dim i = 0
        Dim List As New List(Of Byte())
        Dim bytes As New List(Of Byte)
        Dim dl = Delimiter.Length
        For Each b In Data
            bytes.Add(b)
            If b = Delimiter(i) Then
                If i >= dl - 1 Then
                    i = 0
                    bytes.RemoveRange(bytes.Count - dl, dl)
                    List.Add(bytes.ToArray)
                    bytes.Clear()
                    Continue For
                End If
                i += 1
            Else
                i = 0
            End If
        Next
        If bytes.Any Then
            List.Add(bytes.ToArray)
        End If
        Return List
    End Function

猜你喜欢

转载自www.cnblogs.com/Ghsoft/p/10262399.html