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

Bro*_*mer 2 erlang elixir

我是elixir的新手,我很兴奋.我在IEX终端上玩过二进制游戏.

iex(34)> world = <<119,111,114,108,100>>
"world"

iex(35)> <<x::size(40)>> = world
"world"

iex(36)> x
512970878052
Run Code Online (Sandbox Code Playgroud)

我真的不知道512970878052代表什么号码,但我真的想把它转换回"世界"这个词.我怎样才能做到这一点?

谢谢 :)

Dog*_*ert 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"
Run Code Online (Sandbox Code Playgroud)

(你也可以在两种情况下<<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
Run Code Online (Sandbox Code Playgroud)