如何在Elixir中将整数列表写为16位值

Jos*_*itt 1 elixir

我有一个整数列表,其值在[0-65535]之间.我需要将这些文件写为16位整数.

我如何在Elixir中这样做?

我搜索过,但我对int和二进制文件以及如何执行16位值的转换感到困惑.

我已经找到了如何转换为16位二进制文​​件:

<<12345 :: size(16)>>
Run Code Online (Sandbox Code Playgroud)

Pat*_*ity 6

您也可以使用流:

[1, 2, 3]
|> Stream.map(&<<&1::16>>)
|> Enum.into(File.stream!(filename))
Run Code Online (Sandbox Code Playgroud)

这使用简短形式::16而不是::size(16).文件流将自动处理打开和关闭文件.