elixir - 将十六进制字符串转换为整数

标签 elixir

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

相关文章:

pattern-matching - Elixir:使用模式匹配捕获 map 的其余部分

erlang - 如何获取给定句子中与特定模式匹配的特定单词列表?

testing - 在 session 中分配当前用户进行测试

elixir - Elixir 中有标准的 curry() 函数吗?

elixir - Phoenix 框架模式匹配请求 header

mongodb - 如何将 Phoenix Framework 与 Mongodb 结合使用?

elixir - 如何使用 Ecto 的 has_many 和 cast_assoc

TCP 服务器没有响应

datetime - 设置日期时间毫秒精度 - Elixir

javascript - Phoenix 框架: Submission of custom information via JSON or hidden form?