我是elixir的新手,我很兴奋。在IEX终端,我确实和下面的Binary一起玩。
iex(34)> world = <<119,111,114,108,100>>
"world"
iex(35)> <<x::size(40)>> = world
"world"
iex(36)> x
512970878052
我真的不知道 512970878052 代表什么号码,但我真的想将它转换回&#34; world&#34; 这个词。我怎么能这样做?
谢谢:)
答案 0 :(得分:7)
您可以使用完全相同的表达式转换回来!
iex(1)> world = <<119,111,114,108,100>>
"world"
iex(2)> <<x::size(40)>> = world
"world"
iex(3)> x
512970878052
iex(4)> <<x::size(40)>>
"world"
(在这两种情况下,您也可以只编写<<x::40>>
而不是<<x::size(40)>>
。)
我真的不知道512970878052代表什么号码
当解释为无符号大端整数时,这是由字节[119, 111, 114, 108, 100]
表示的整数,即
iex(5)> use Bitwise
Bitwise
iex(6)> 119 <<< 32 ||| 111 <<< 24 ||| 114 <<< 16 ||| 108 <<< 8 ||| 100
512970878052