2
私はエリキシルには新しく、私は興奮しています。私はIEX端末で以下のようなバイナリで遊んだ。エリクサーで数値を文字列に変換する方法は?
iex(34)> world = <<119,111,114,108,100>>
"world"
iex(35)> <<x::size(40)>> = world
"world"
iex(36)> x
512970878052
私は本当にが何を表すかの数分かりませんが、私は本当に言葉「世界」に戻って、それを変換します。どうやってやるの?
感謝:)
私は512970878052から119を得ることができます:512970878052 >>> 32 ...しかし、私は111などを得ることができませんでした...私は本当にビット操作を行ったことはありません:P。ゲームのためにtcp上でバイナリメッセージングを構築する必要があるのは初めてです –
最下位バイトの後にすべてを削除する必要があります。 '512970878052 >>> n &&& 0xff'を試してください。ここで' n'は '32'、' 24'などです。 – Dogbert
@BromoProgrammerは119,111などを取得することができます。「<< x1 :: 8」、「x2 :: 8」、「x3 :: 8」、「x4 :: 8」、「x5 :: 8」、「_ :: binary」= << "512970878052: :40 >>。あなたはこれらの変換をたくさん必要としているように見えるので、 'get_byte(position、input)'のようなマクロを書くつもりです。 – mudasobwa