【问题标题】:Binary of charcodes to legible string?将字符码的二进制转换为清晰的字符串?
【发布时间】:2020-01-11 17:29:42
【问题描述】:

我对 Elixir 中的二进制文件和字符串感到困惑。我有一个功能。这将返回代表字符串的字符代码二进制文件,但我无法弄清楚如何以清晰的方式打印该字符串。我正在考虑将二进制文件转换为字符列表,然后枚举字符列表并将每个字符转换为字符串,但这似乎需要做很多工作。有没有更好的办法?

【问题讨论】:

标签: elixir


【解决方案1】:

试试String.chunk/2

iex(1)> a = "Hello " <> <<0>> <> "World"
<<72, 101, 108, 108, 111, 32, 0, 87, 111, 114, 108, 100>>
iex(2)> String.chunk(a, :printable)     
["Hello ", <<0>>, "World"]

【讨论】:

  • 还有:IO.inspect a, [{:binaries, :as_strings}],转义不可打印字符。
  • 嘿@tkowal,请问这是如何工作的可以吗?我是 Elixir 的新手。该列表是“检查”的参数吗?
  • @KingDan 是的,inspect 的第二个可选参数是选项列表:elixir-lang.org/docs/stable/elixir/Inspect.Opts.html
猜你喜欢
  • 2014-08-02
  • 2016-07-16
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2019-08-23
  • 1970-01-01
相关资源
最近更新 更多