From b15cbb8402a0e8f8b5a6b1e7e48c9c1a7036742b Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Sat, 26 Apr 2014 08:06:56 +0200 Subject: Add hex.erl. --- src/hex.erl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/hex.erl (limited to 'src') diff --git a/src/hex.erl b/src/hex.erl new file mode 100644 index 0000000..dcb9349 --- /dev/null +++ b/src/hex.erl @@ -0,0 +1,14 @@ +-module(hex). +-export([bin_to_hexstr/1,hexstr_to_bin/1]). + +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]). -- cgit v1.1