【问题标题】:Matching N digits using binaries使用二进制匹配 N 位数字
【发布时间】:2014-04-18 21:41:09
【问题描述】:

我有一个来自套接字的数据包,它由两个子部分组成,第一个由 4 个数字组成,后者由 16 个字母数字组成。

如何使用二进制文件和模式匹配绑定来自套接字的数据包?

例如,如果我收到:

1234th58i4kr04o3

我想获得:

Packet1 = 1234
Packet2 = "th58i4kr04o3"

【问题讨论】:

    标签: erlang pattern-matching


    【解决方案1】:

    您可以通过使用 Erlang bit syntax 和二进制模式匹配来做到这一点:

    <<A:4/binary, Rest/binary>> = <<"1234th58i4kr04o3">>, 
    Packet1 = binary_to_integer(A), 
    Packet2 = binary_to_list(Rest).
    

    【讨论】:

    • “真正实现”?
    猜你喜欢
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多