我有一个二进制文件,我使用模式匹配来解决第一个EJ:
<<code:: binary-size(2), _::binary-size(1), rest::binary>> = line
其余变量仍然是二进制格式,我想用字符串格式吗?
答案 0 :(得分:0)
这是一个代表问题。事实证明,IEx控制台无法使用字符显示数据,并将其作为代码点打印出来。这通常发生在二进制包含例如\0
char。
看,让我们从头开始或你拥有的东西:
iex> <<57, 56, 52, 52, 49, 48, 68, 48, 66, 49, 83, 67, 73, 32, 32, 32, 32, 32, 32, 32, 49>>
#⇒ "984410D0B1SCI 1"
现在让我们把零字节放在那里:
iex> <<57, 0, 52>>
#⇒ <<57, 0, 52>>
可能会有更令人惊讶的表现故障:
iex> [7, 8, 9, 10]
#⇒ '\a\b\t\n'
现在IEx看到了char列表,并将其打印为char列表。 '\a'
为7
,'\b'
为8等。