在Erlang中使用十六进制

vc6uscn9  于 2022-12-08  发布在  Erlang
关注(0)|答案(2)|浏览(195)

有没有办法将十六进制字符列表转换为与十六进制编码对应的binary
示例:

[FF,AC,01]=><<255,172,1>>
wlp8pajw

wlp8pajw1#

我猜你是说这个["FF","AC","01"] => <<255,172,1>> .
您可以使用list_to_integer/2函数,它将基数作为第二个参数。

Hexs = ["FF","AC","01"],
Ints = [list_to_integer(Hex, 16) || Hex <- Hexs],
%% [255,172,1]
Binary = list_to_binary(Ints).
%% <<255,172,1>>
0s7z1bwu

0s7z1bwu2#

另一种可接受的答案是通过二进制理解直接进入二进制:

1> Hexs = ["FF","AC","01"].
2> << <<(list_to_integer(C,16)):8>> || C <- Hexs >>.
<<255,172,1>>

相关问题