erlang 中的 binary 和 binstring类型
突然程序全面报错,郁闷,所有的 binary 类型的数据都成了 bitstring
bitstring类型时,所有binary操作全部失败。
?
仔细查看文档,原来bitstring是破坏了binary 结构后的产物。binary的位数必须能被8 整除。如果破坏这个结构就会变成bitstring类型。
?
实例:
Num = 123.
is_bitstring( <<Num:4>> )?.? % return Yes.
is_bitstring( <<Num:4, Num:4>> )?.? % return No.
is_bitstring( <<Num:4, Num:4, Num:4>> )?.? % return Yes.