1
我有一個數據包來自一個由兩個小部分組成的插座,第一個由4位數字組成,後者由16個字母數字組成。使用二進制文件匹配N個數字
如何使用二進制文件和模式匹配來綁定來自套接字的數據包?
例如,如果我得到:
1234th58i4kr04o3
我想獲得:
Packet1 = 1234
Packet2 = "th58i4kr04o3"
我有一個數據包來自一個由兩個小部分組成的插座,第一個由4位數字組成,後者由16個字母數字組成。使用二進制文件匹配N個數字
如何使用二進制文件和模式匹配來綁定來自套接字的數據包?
例如,如果我得到:
1234th58i4kr04o3
我想獲得:
Packet1 = 1234
Packet2 = "th58i4kr04o3"
您可以通過使用Erlang的bit syntax和二進制模式匹配做到這一點:
<<A:4/binary, Rest/binary>> = <<"1234th58i4kr04o3">>,
Packet1 = binary_to_integer(A),
Packet2 = binary_to_list(Rest).
「從字面上實現「? – Berzemus
固定。現在應該清楚了! – mkorszun