我有一个要处理的十六进制值数据包。它们以字符串形式出现。例如,一个数据包是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/