私は16進数データを64進数に変換しなければなりません。バイナリ、 の代わりに、自分自身のコード変換を書き込む 1.hexadecimal私は、このリンクでこの部分を達成する方法を、 を10進数にhttp://necrobious.blogspot.com/2008/03/binary-to-hex-string-back-to-binary-in.html16進数64に符号付き
bin_to_hexstr(Bin) ->
lists:flatten([io_lib:format("~2.16.0B", [X]) ||
X <- binary_to_list(Bin)]).
hexstr_to_bin(S) ->
hexstr_to_bin(S, []).
hexstr_to_bin([], Acc) ->
list_to_binary(lists:reverse(Acc));
hexstr_to_bin([X,Y|T], Acc) ->
{ok, [V], []} = io_lib:fread("~16u", [X,Y]),
hexstr_to_bin(T, [V | Acc]).
2.binaryを与えられたコードを使用してメートル。?
またはhexdecimalを達成するための他の方法 - > 64の符号付き10進数のデータ
ありがとう事前に
ありがとう以来、この16進数値3fc2d175e1028b9aため、PHPでイム書き込みコードがその4594464874087746458 64 10進値を与える場合はあなたがhex_to_bin(Str) - << <<(erlang:list_to_integer([H]、16))と同じことをしているとき:4 >> || H <- Str >>。 それは<< 63,194,209,117,225,2,139,154 >>を与えています。だからこそ何か説明があります。 – Abhimanyu
<> = hex_to_bin( "3fc2d175e1028b9a")、I =:= 4594464874087746458. - erlangのバイナリを整数に変換するだけです(<< numbers >>という表記はバイナリを示します)。 –
archaelus