如何在Elixir中将数字转换回字符串?

时间:2017-02-08 07:19:57

标签: erlang elixir

我是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; 这个词。我怎么能这样做?

谢谢:)

1 个答案:

答案 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