Elixir不给予List_to_bin的响应?
["257","7"]
|> Enum.map(&String.to_integer/1)
|> Enum.reject(fn x -> x == 0 end)
|> :binary.list_to_bin()
出现错误
需要二进制数据。如果我使用低于 255 的数据,它会给出响应,但在 255 之后没有得到任何响应。
["257","7"]
|> Enum.map(&String.to_integer/1)
|> Enum.reject(fn x -> x == 0 end)
|> :binary.list_to_bin()
Getting error
Need binary Data. If I am using under 255 data it’s giving responses but after 255 not getting any response.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
虽然其他答案是正确的,但最简单的方法可能是使用 list.to_string/1 ,期望Unicode Charlist:
:Binary
期望字节列表(Integers< 256
)。While the other answers are correct, the easiest way here is probably to use List.to_string/1, which expects unicode charlists:
:binary
expects a list of bytes (integers< 256
).:erlang.list.list.list_to_binary/1
(对于哪个:binary.list_to_bin/1
是一个别名)仅与ASCII一起使用。实现目标的最简单方法是使用for/1
使用自定义的二进制累加器理解,明确将整数铸成&lt;&lt; _ :: :: utf8&gt;&gt;&gt;
。:erlang.list_to_binary/1
(for which:binary.list_to_bin/1
is an alias) works with ASCII only. The easiest way to accomplish your goal would be to usefor/1
comprehension with a custom binary accumulator, explicitly casting integers to<<_::utf8>>
.Elixir 二进制文件是一串 ASCII 字符。因此,这些值必须为
<=255
。An Elixir binary is a string of ASCII characters. The values therefore need to be
<=255
.