我有一个要处理的十六进制值数据包。它们以字符串形式进入。例如,数据包中的一个是C0,它是192。但是,我不太确定如何将字符串值转换为整数值。

如果我使用这个:

Base.decode16!("C0")
# <<192>>

...我得到一个二进制文件。

我认为提取该整数值的唯一方法是这样的:

<<x>> = Base.decode16!("C0")
x
# 192

这行得通,而且似乎有些习惯,但是我对Elixir还是陌生的,因此不确定这是否是最佳解决方案。您将如何在Elixir中将字符串十六进制值转换为整数?

最佳答案

您可以使用Integer

Integer.parse("C0", 16) # returns {192, ""}

要将其转换回您可以使用
# to charlist
Integer.to_charlist(192, 16) # returns 'C0'

# to string
Integer.to_string(192, 16) # returns "C0"

关于elixir - 将十六进制字符串转换为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34404781/

10-13 05:40