【发布时间】:2014-04-18 21:41:09
【问题描述】:
我有一个来自套接字的数据包,它由两个子部分组成,第一个由 4 个数字组成,后者由 16 个字母数字组成。
如何使用二进制文件和模式匹配绑定来自套接字的数据包?
例如,如果我收到:
1234th58i4kr04o3
我想获得:
Packet1 = 1234
Packet2 = "th58i4kr04o3"
【问题讨论】:
我有一个来自套接字的数据包,它由两个子部分组成,第一个由 4 个数字组成,后者由 16 个字母数字组成。
如何使用二进制文件和模式匹配绑定来自套接字的数据包?
例如,如果我收到:
1234th58i4kr04o3
我想获得:
Packet1 = 1234
Packet2 = "th58i4kr04o3"
【问题讨论】:
您可以通过使用 Erlang bit syntax 和二进制模式匹配来做到这一点:
<<A:4/binary, Rest/binary>> = <<"1234th58i4kr04o3">>,
Packet1 = binary_to_integer(A),
Packet2 = binary_to_list(Rest).
【讨论】: