【问题标题】:How to split Erlang binary in special length?如何以特殊长度拆分 Erlang 二进制文件?
【发布时间】:2012-02-06 15:34:38
【问题描述】:

我打开一个 udp 套接字并希望将收到的二进制数据包拆分为每 10 个字节。有什么api或好方法吗?谢谢!

【问题讨论】:

    标签: binary erlang split


    【解决方案1】:

    这是一种方法:

    split(Bin, LenPart) -> 
      lists:reverse(split1(Bin, LenPart, [])).
    
    split1(Bin, LenPart, Acc) when byte_size(Bin) =< LenPart -> 
      [Bin | Acc];
    split1(Bin, LenPart, Acc) -> 
      <<Part:LenPart/binary, Rest/binary>> = Bin,
      split1(Rest, LenPart, [Part | Acc]).
    

    【讨论】:

      最近更新 更多