1

の形式のビット文字列がありbitstring = <<18::6,8::4,2::5,16::5,18::6,3000::16,0::4>>ます。レンダリングしたいのですが、poison または Jason がレンダリングされていないようです。このような応答でビット文字列をレンダリングする最良の方法は何ですか?

このようなもの

bits = <<18::6,8::4,2::5,16::5,18::6,3000::16,0::4>>
render(conn, "bits.json", bits: bits)
4

2 に答える 2

1

46ビットをバイト配列に変換することはできません。AFAICT、ここには 2 つの最も自然なオプションがあります。

値のバイナリ表現で配列を使用する場合があります。

for << <<c::1>> <- <<18::6,8::4,2::5,16::5,18::6,3000::16,0::4>> >>, do: c    
#⇒ [0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
#   0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]

または、上記を結合してバイナリを使用することもできます。

(for << <<c::1>> <- <<18::6,8::4,2::5,16::5,18::6,3000::16,0::4>> >>, do: c)
|> Enum.join()
#⇒ "0100101000000101000001001000001011101110000000"
于 2018-08-03T13:35:53.080 に答える