, >, [[50,48,49,48,49,48,50,54,45,49,53,":",52-6ren">
gpt4 book ai didi

binary - 二郎 - 校验和

转载 作者:行者123 更新时间:2023-12-01 11:07:21 24 4
gpt4 key购买 nike

早安

我正在尝试对以下函数执行校验和

Data = [<<"9">>,"81",
<<1>>,
<<"52=">>,
[[50,48,49,48,49,48,50,54,45,49,53,":",52,53,":",52,52]],
<<1>>,
<<1>>,
[<<"9">>,<<"0">>,<<1>>],
[<<"5">>,<<"4">>,<<1>>]]

使用:

checksum(Data) ->  checksum(Data, 0).
checksum([H | T], Acc) ->
if
is_binary(H) ->
I = binary_to_list(H);
true ->
I = H
end,
checksum(T, I + Acc);

checksum([], Acc) -> Acc.

它基本上需要将数据分解成离散的数字

理想情况下它看起来像 [56,45,34,111,233,...]

然后将它们全部加在一起。

无论我尝试什么,编译器都会给我错误。之前我已经解决了它很简单,但现在食物链的一个变化影响了它。

请帮忙,祝你好运!

最佳答案

试试下面的代码:

checksum(Data) ->                 checksum(iolist_to_binary(Data), 0).
checksum(<<I, T/binary>>, Acc) -> checksum(T, I + Acc);
checksum(<<>>, Acc) -> Acc.

关于binary - 二郎 - 校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com