相关疑难解决方法(0)

Erlang中Binary和Bitstring有什么区别?

在Erlang shell中,我可以执行以下操作:

A = 300.
    300
<<A:32>>.
    <<0, 0, 1, 44>>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试以下内容时:

B = term_to_binary({300}).
    <<131,104,1,98,0,0,1,44>>
<<B:32>>
    ** exception error: bad argument
<<B:64>>
    ** exception error: bad argument
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,我采用整数并使用bitstring语法将其放入32位字段.这按预期工作.在第二种情况下,我使用term_to_binaryBIF将元组转换为二进制,我尝试使用bitstring语法解压缩某些位.为什么第一个例子有效,但第二个例子失败了?看起来他们都做了非常相似的事情.

erlang binary-data bitstring

7
推荐指数
1
解决办法
4745
查看次数

标签 统计

binary-data ×1

bitstring ×1

erlang ×1