1.二进制型:以双小于号与双大于号之间的一列整数或字符串,若二进制型里的位数不是8的整数倍,那么就称为位串
- <<5,10,20>> <<"hello">>
2.二进制型操作
- list_to_binary(L) ->B ,将列表L转换为二进制文件B
- split_binary(Bin,Pos) ->{Bin1,Bin2} 在Pos处将bin一分为二
- term_to_binary(Term) ->Bin 将任意Erlang数据类型转换为一个二进制型
- binary_to_term(Bin) -> Term
- byte_size(Bin) -> Size 返回二进制里的字节数
3.位语法:可以灵活的为各变量分配所占的位数.
- M= <<X:3,Y:7,Z:6>> 所占位数为16,所以M是一个binary类型
- M= <<X:2,Y:7,Z:6>> 所占为15,非8的整数倍,所以M是一个bitstring类型.
- 以RGB颜色打包为例:
- R=2. Green=61. Blue=20. 则Men= <<Red:5,Green:6,Blue:5>> result: <<23,180>>
4.位语法表达式(P83)
5.位串:处理位级数据
- B2= <<1:17>>.
- result : <<0,0,1:1>>
- 意味着B2是一个有2个字节和一个1:1的位串组合成.