From 825f030d7698dad5b7c1768055aade65c7f41040 Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Tue, 17 Jan 2023 22:40:34 +0800 Subject: [PATCH] =?UTF-8?q?ft:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/eVPack.hrl | 1 - src/deTest.erl | 2 +- src/eVPTest.erl | 4 +- src/eVPack.erl | 164 +++++++++++++-------------------------------- src/enTest.erl | 104 ++++++++++++++-------------- 5 files changed, 103 insertions(+), 172 deletions(-) diff --git a/include/eVPack.hrl b/include/eVPack.hrl index 6234a02..ad8a804 100644 --- a/include/eVPack.hrl +++ b/include/eVPack.hrl @@ -8,7 +8,6 @@ -define(VpObjNcYs, 0). %% 不压缩编码 排序Key -define(VpObjYc, 1). %% 压缩编码 -%% -define(VpObjNcNs, 2). %% 不压缩编码 不排序Key 暂时不要用此选项去编码object 弃用了 -define(VpArrNc, 0). %% 不压缩编码 -define(VpArrYc, 1). %% 压缩编码 diff --git a/src/deTest.erl b/src/deTest.erl index 5d61fcf..54b2a9e 100644 --- a/src/deTest.erl +++ b/src/deTest.erl @@ -228,6 +228,6 @@ do() -> <<"4">> => <<"test">>, <<"5">> => <<"test">>, <<"6">> => <<"test">>, <<"7">> => <<"test">>, <<"8">> => <<"test">>, <<"9">> => <<"test">>}}, - BB = eVPack:encodeBin(_Ex12, ?VpArrDef, ?VpObjNcYs), + BB = eVPack:encode(_Ex12, ?VpArrDef, ?VpObjNcYs), io:format("~p~n", [eVPack:decode(BB)]), ok. diff --git a/src/eVPTest.erl b/src/eVPTest.erl index 871a943..36b22cb 100644 --- a/src/eVPTest.erl +++ b/src/eVPTest.erl @@ -50,13 +50,13 @@ getHex(X) -> }). test(Term) -> - VPBin = eVPack:encodeBin(Term), + VPBin = eVPack:encode(Term), VPBinHex = binToHex(VPBin), file:write_file("./vpackbin", VPBinHex), os:cmd("./vpackVal --hex vpackbin"). test(Term, ArrOpt, ObjOpt) -> - VPBin = eVPack:encodeBin(Term, ArrOpt, ObjOpt), + VPBin = eVPack:encode(Term, ArrOpt, ObjOpt), VPBinHex = binToHex(VPBin), file:write_file("./vpackbin", VPBinHex), os:cmd("./vpackVal --hex vpackbin"). diff --git a/src/eVPack.erl b/src/eVPack.erl index 796e5a3..1d21368 100644 --- a/src/eVPack.erl +++ b/src/eVPack.erl @@ -15,10 +15,8 @@ , decode/1 %% encode - , encodeIol/1 - , encodeBin/1 - , encodeIol/3 - , encodeBin/3 + , encode/1 + , encode/3 %% other API , encodeAtom/1 @@ -27,34 +25,30 @@ , encodeFloat/1 , encodeString/1 , encodeInteger/1 - - - , doEncodeList1/3 ]). setSV(Size) -> - erlang:put('$VPSize', Size). + put('$VPSize', Size). getSV() -> - erlang:get('$VPSize'). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% encode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + get('$VPSize'). --spec encodeIol(term()) -> vpack() | {error, any()}. -encodeIol(Term) -> - encoder(Term, ?VpArrDef, ?VpObjDef). +delSV() -> + erase('$VPSize'). --spec encodeBin(term()) -> vpack() | {error, any()}. -encodeBin(Term) -> - iolist_to_binary(encoder(Term, ?VpArrDef, ?VpObjDef)). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% encode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec encodeIol(term(), vpOpt(), vpOpt()) -> vpack() | {error, any()}. -encodeIol(Term, ArrOpt, ObjOpt) -> - encoder(Term, ArrOpt, ObjOpt). +-spec encode(term()) -> vpack() | {error, any()}. +encode(Term) -> + Ret = encoder(Term, ?VpArrDef, ?VpObjDef), + delSV(), + Ret. --spec encodeBin(term(), vpOpt(), vpOpt()) -> vpack() | {error, any()}. -encodeBin(Term, ArrOpt, ObjOpt) -> - iolist_to_binary(encoder(Term, ArrOpt, ObjOpt)). +-spec encode(term(), vpOpt(), vpOpt()) -> vpack() | {error, any()}. +encode(Term, ArrOpt, ObjOpt) -> + Ret = encoder(Term, ArrOpt, ObjOpt), + delSV(), + Ret. encoder(Map, ArrOpt, ObjOpt) when erlang:is_map(Map) -> encodeMap(ObjOpt, Map, ArrOpt); encoder(Atom, _, _) when erlang:is_atom(Atom) -> encodeAtom(Atom); @@ -226,31 +220,19 @@ encodeBinary(Blob) -> erlang:throw({error, too_max_binary}) end. -doEncodeMap(Iterator, ArrOpt, ObjOpt, AccList, SumSize) -> +doEncodeMap(Iterator, ArrOpt, ObjOpt, AccBin, SumSize) -> case maps:next(Iterator) of {Key, Value, NextIter} -> KeyEn = encodeString(asKey(Key)), KeySize = getSV(), ValueEn = encoder(Value, ArrOpt, ObjOpt), ValueSize = getSV(), - doEncodeMap(NextIter, ArrOpt, ObjOpt, [ValueEn, KeyEn | AccList], SumSize + KeySize + ValueSize); + doEncodeMap(NextIter, ArrOpt, ObjOpt, <>, SumSize + KeySize + ValueSize); none -> - {AccList, SumSize} + {AccBin, SumSize} end. -%% doEncodeMap(Iterator, ArrOpt, ObjOpt, AccList, Offsets, SumSize) -> -%% case maps:next(Iterator) of -%% {Key, Value, NextIter} -> -%% KeyEn = encodeString(asKey(Key)), -%% KeySize = getSV(), -%% ValueEn = encoder(Value, ArrOpt, ObjOpt), -%% ValueSize = getSV(), -%% doEncodeMap(NextIter, ArrOpt, ObjOpt, [ValueEn, KeyEn | AccList], [SumSize | Offsets], SumSize + KeySize + ValueSize); -%% none -> -%% {AccList, Offsets, SumSize} -%% end. - -doEncodeSortMap(Iterator, ArrOpt, ObjOpt, AccList, Offsets, SumSize) -> +doEncodeSortMap(Iterator, ArrOpt, ObjOpt, AccBin, Offsets, SumSize) -> case maps:next(Iterator) of {Key, Value, NextIter} -> KeyStr = asKey(Key), @@ -258,9 +240,9 @@ doEncodeSortMap(Iterator, ArrOpt, ObjOpt, AccList, Offsets, SumSize) -> KeySize = getSV(), ValueEn = encoder(Value, ArrOpt, ObjOpt), ValueSize = getSV(), - doEncodeSortMap(NextIter, ArrOpt, ObjOpt, [ValueEn, KeyEn | AccList], [SumSize | Offsets], SumSize + KeySize + ValueSize); + doEncodeSortMap(NextIter, ArrOpt, ObjOpt, <>, [SumSize | Offsets], SumSize + KeySize + ValueSize); none -> - {AccList, Offsets, SumSize} + {AccBin, Offsets, SumSize} end. encodeMap(?VpObjNcYs, Map, ArrOpt) -> @@ -270,9 +252,8 @@ encodeMap(?VpObjNcYs, Map, ArrOpt) -> setSV(1), <<10/integer>>; _ -> - {AccList, Offsets, SumSize} = doEncodeSortMap(maps:iterator(Map), ArrOpt, ?VpObjNcYs, [], [], 0), - IoData = lists:reverse(AccList), - encodeSortMapIndexTable(IoData, MapSize, Offsets, SumSize) + {AccBin, Offsets, SumSize} = doEncodeSortMap(maps:iterator(Map), ArrOpt, ?VpObjNcYs, <<>>, [], 0), + encodeSortMapIndexTable(AccBin, MapSize, Offsets, SumSize) end; encodeMap(?VpObjYc, Map, ArrOpt) -> MapSize = erlang:map_size(Map), @@ -281,76 +262,37 @@ encodeMap(?VpObjYc, Map, ArrOpt) -> setSV(1), <<10/integer>>; _ -> - {AccList, SumSize} = doEncodeMap(maps:iterator(Map), ArrOpt, ?VpObjYc, [], 0), - IoData = lists:reverse(AccList), - encodeCompactData(<<20/integer>>, IoData, SumSize, MapSize) + {AccBin, SumSize} = doEncodeMap(maps:iterator(Map), ArrOpt, ?VpObjYc, <<>>, 0), + encodeCompactData(<<20/integer>>, AccBin, SumSize, MapSize) end. -%% encodeMap(?VpObjNcNs, Map, ArrOpt) -> -%% MapSize = erlang:map_size(Map), -%% case MapSize == 0 of -%% true -> -%% setSV(1), -%% <<10/integer>>; -%% _ -> -%% {AccList, Offsets, SumSize} = doEncodeMap(maps:iterator(Map), ArrOpt, ?VpObjNcNs, [], [], 0), -%% IoData = lists:reverse(AccList), -%% encodeUnSortMapIndexTable(IoData, MapSize, Offsets, SumSize) -%% end. -encodeSortMapIndexTable(IoData, Count, Offsets, SumSize) -> +encodeSortMapIndexTable(BinData, Count, Offsets, SumSize) -> TemSize = SumSize + Count, if TemSize < 253 -> AllSize = TemSize + 3, Header = <<11/integer, AllSize:8/integer-unsigned, Count:8/integer-unsigned>>, setSV(AllSize), - [Header, IoData, buildSMIndexTable_1(Offsets, 3)]; + <
>; TemSize + Count < 65531 -> AllSize = TemSize + Count + 5, Header = <<12/integer, AllSize:16/integer-little-unsigned, Count:16/integer-little-unsigned>>, setSV(AllSize), - [Header, IoData, buildSMIndexTable_2(Offsets, 5)]; + <
>; TemSize + Count * 3 < 4294967287 -> AllSize = TemSize + Count * 3 + 9, Header = <<13/integer, AllSize:32/integer-little-unsigned, Count:32/integer-little-unsigned>>, setSV(AllSize), - [Header, IoData, buildSMIndexTable_4(Offsets, 9)]; + <
>; TemSize + Count * 7 < 18446744073709551599 -> AllSize = TemSize + Count * 7 + 17, - Header = <<14/integer, AllSize:64/integer-little-unsigned>>, + Header = <<14/integer, AllSize:64/integer-little-unsigned, Count:64/integer-little-unsigned>>, setSV(AllSize), - [Header, IoData, buildSMIndexTable_8(Offsets, 9), <>]; + <
>; true -> erlang:throw({error, too_much_sort_map_size}) end. -%% encodeUnSortMapIndexTable(IoData, Count, Offsets, SumSize) -> -%% TemSize = SumSize + Count, -%% if -%% TemSize < 253 -> -%% AllSize = TemSize + 3, -%% Header = <<15/integer, AllSize:8/integer-unsigned, Count:8/integer-unsigned>>, -%% setSV(AllSize), -%% [Header, IoData, buildIndexTable_1(Offsets, 3)]; -%% TemSize + Count < 65531 -> -%% AllSize = TemSize + Count + 5, -%% Header = <<16/integer, AllSize:16/integer-little-unsigned, Count:16/integer-little-unsigned>>, -%% setSV(AllSize), -%% [Header, IoData, buildIndexTable_2(Offsets, 5)]; -%% TemSize + Count * 3 < 4294967287 -> -%% AllSize = TemSize + Count * 3 + 9, -%% Header = <<17/integer, AllSize:32/integer-little-unsigned, Count:32/integer-little-unsigned>>, -%% setSV(AllSize), -%% [Header, IoData, buildIndexTable_4(Offsets, 9)]; -%% TemSize + Count * 7 < 18446744073709551599 -> -%% AllSize = TemSize + Count * 7 + 17, -%% Header = <<18/integer, AllSize:64/integer-little-unsigned>>, -%% setSV(AllSize), -%% [Header, IoData, buildIndexTable_8(Offsets, 9), <>]; -%% true -> -%% erlang:throw({error, too_much_unsort_map_size}) -%% end. - buildIndexTable_1(Offsets, StartSize) -> <<<<(OneOff + StartSize):8/integer-little-unsigned>> || OneOff <- lists:reverse(Offsets)>>. buildIndexTable_2(Offsets, StartSize) -> @@ -396,12 +338,12 @@ compactSize(AllSize) -> end, {compactInteger(LastSize, false), LastSize}. -encodeCompactData(Type, IoData, SumSize, Count) -> +encodeCompactData(Type, BinData, SumSize, Count) -> CompactList = compactInteger(Count, true), - AllSize = SumSize + 1 + erlang:length(CompactList), + AllSize = SumSize + 1 + erlang:byte_size(CompactList), {TotalSize, FinalSize} = compactSize(AllSize), setSV(FinalSize), - <>. + <>. asKey(Value) when erlang:is_atom(Value) -> erlang:atom_to_binary(Value, utf8); asKey(Value) when erlang:is_binary(Value) -> Value; @@ -1507,9 +1449,7 @@ parseArrayElements(DataBin, AccList) -> parseArrWithIndexTable(1, DataBin) -> <> = DataBin, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 3 - ZerosSize - Count, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), @@ -1517,9 +1457,7 @@ parseArrWithIndexTable(1, DataBin) -> parseArrWithIndexTable(2, DataBin) -> <> = DataBin, IndexSize = 2 * Count, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 5 - ZerosSize - IndexSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), @@ -1527,9 +1465,7 @@ parseArrWithIndexTable(2, DataBin) -> parseArrWithIndexTable(4, DataBin) -> <> = DataBin, IndexSize = 4 * Count, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 9 - ZerosSize - IndexSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), @@ -1546,36 +1482,28 @@ parseArrWithIndexTable(8, DataBin) -> parseArrWithoutIndexTable(1, DataBin) -> <> = DataBin, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 2 - ZerosSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), {ArrList, LeftBin}; parseArrWithoutIndexTable(2, DataBin) -> <> = DataBin, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 3 - ZerosSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), {ArrList, LeftBin}; parseArrWithoutIndexTable(4, DataBin) -> <> = DataBin, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 5 - ZerosSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), {ArrList, LeftBin}; parseArrWithoutIndexTable(8, DataBin) -> <> = DataBin, - DataSize = erlang:byte_size(RestBin), - DataLeftBin = skipZeros(RestBin), - ZerosSize = DataSize - erlang:byte_size(DataLeftBin), + {ZerosSize, DataLeftBin} = skipZeros(RestBin, 0), ArrSize = SumSize - 9 - ZerosSize, <> = DataLeftBin, ArrList = parseArrayElements(ArrData, []), @@ -1662,4 +1590,8 @@ parseObjMembers(Length, Obj, DataBin) -> skipZeros(<<0/integer, LeftBin/binary>>) -> skipZeros(LeftBin); -skipZeros(DataBin) -> DataBin. \ No newline at end of file +skipZeros(DataBin) -> DataBin. + +skipZeros(<<0/integer, LeftBin/binary>>, Cnt) -> + skipZeros(LeftBin, Cnt + 1); +skipZeros(DataBin, Cnt) -> {Cnt, DataBin}. \ No newline at end of file diff --git a/src/enTest.erl b/src/enTest.erl index 584e583..1442371 100644 --- a/src/enTest.erl +++ b/src/enTest.erl @@ -17,47 +17,47 @@ test() -> end. do() -> - <<25>> = eVPack:encodeBin(false), - <<26>> = eVPack:encodeBin(true), - <<27, 102, 102, 102, 102, 102, 182, 96, 64>> = eVPack:encodeBin(1.33699999999999988631e+2), - <<27, 102, 102, 102, 102, 102, 182, 96, 192>> = eVPack:encodeBin(-1.33699999999999988631e+2), - <<30>> = eVPack:encodeBin(minKey), - <<31>> = eVPack:encodeBin(maxKey), - <<48>> = eVPack:encodeBin(0), - <<49>> = eVPack:encodeBin(1), - <<50>> = eVPack:encodeBin(2), - <<51>> = eVPack:encodeBin(3), - <<52>> = eVPack:encodeBin(4), - <<53>> = eVPack:encodeBin(5), - <<54>> = eVPack:encodeBin(6), - <<55>> = eVPack:encodeBin(7), - <<56>> = eVPack:encodeBin(8), - <<57>> = eVPack:encodeBin(9), - <<58>> = eVPack:encodeBin(-6), - <<59>> = eVPack:encodeBin(-5), - <<60>> = eVPack:encodeBin(-4), - <<61>> = eVPack:encodeBin(-3), - <<62>> = eVPack:encodeBin(-2), - <<63>> = eVPack:encodeBin(-1), - <<32, (-7)/integer-little-signed>> = eVPack:encodeBin(-7), - <<32, 128>> = eVPack:encodeBin(-128), - <<33, 0, 128>> = eVPack:encodeBin(-32768), - <<34, 0, 0, 128>> = eVPack:encodeBin(-8388608), - <<35, 0, 0, 0, 128>> = eVPack:encodeBin(-2147483648), - <<36, 0, 0, 0, 0, 128>> = eVPack:encodeBin(-549755813888), - <<37, 0, 0, 0, 0, 0, 128>> = eVPack:encodeBin(-140737488355328), - <<38, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encodeBin(-36028797018963968), - <<39, 0, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encodeBin(-9223372036854775808), - <<40, 255>> = eVPack:encodeBin(255), - <<41, 255, 255>> = eVPack:encodeBin(65535), - <<42, 255, 255, 255>> = eVPack:encodeBin(16777215), - <<43, 255, 255, 255, 255>> = eVPack:encodeBin(4294967295), - <<44, 255, 255, 255, 255, 255>> = eVPack:encodeBin(1099511627775), - <<45, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(281474976710655), - <<46, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(72057594037927935), - <<47, 255, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(18446744073709551615), - <<192, 11, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = eVPack:encodeBin(<<"Hallo Welt!">>), - <<192, 12, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = eVPack:encodeBin(<<"Hello World!">>), + <<25>> = eVPack:encode(false), + <<26>> = eVPack:encode(true), + <<27, 102, 102, 102, 102, 102, 182, 96, 64>> = eVPack:encode(1.33699999999999988631e+2), + <<27, 102, 102, 102, 102, 102, 182, 96, 192>> = eVPack:encode(-1.33699999999999988631e+2), + <<30>> = eVPack:encode(minKey), + <<31>> = eVPack:encode(maxKey), + <<48>> = eVPack:encode(0), + <<49>> = eVPack:encode(1), + <<50>> = eVPack:encode(2), + <<51>> = eVPack:encode(3), + <<52>> = eVPack:encode(4), + <<53>> = eVPack:encode(5), + <<54>> = eVPack:encode(6), + <<55>> = eVPack:encode(7), + <<56>> = eVPack:encode(8), + <<57>> = eVPack:encode(9), + <<58>> = eVPack:encode(-6), + <<59>> = eVPack:encode(-5), + <<60>> = eVPack:encode(-4), + <<61>> = eVPack:encode(-3), + <<62>> = eVPack:encode(-2), + <<63>> = eVPack:encode(-1), + <<32, (-7)/integer-little-signed>> = eVPack:encode(-7), + <<32, 128>> = eVPack:encode(-128), + <<33, 0, 128>> = eVPack:encode(-32768), + <<34, 0, 0, 128>> = eVPack:encode(-8388608), + <<35, 0, 0, 0, 128>> = eVPack:encode(-2147483648), + <<36, 0, 0, 0, 0, 128>> = eVPack:encode(-549755813888), + <<37, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-140737488355328), + <<38, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-36028797018963968), + <<39, 0, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-9223372036854775808), + <<40, 255>> = eVPack:encode(255), + <<41, 255, 255>> = eVPack:encode(65535), + <<42, 255, 255, 255>> = eVPack:encode(16777215), + <<43, 255, 255, 255, 255>> = eVPack:encode(4294967295), + <<44, 255, 255, 255, 255, 255>> = eVPack:encode(1099511627775), + <<45, 255, 255, 255, 255, 255, 255>> = eVPack:encode(281474976710655), + <<46, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encode(72057594037927935), + <<47, 255, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encode(18446744073709551615), + <<192, 11, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = eVPack:encode(<<"Hallo Welt!">>), + <<192, 12, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = eVPack:encode(<<"Hello World!">>), _Str = <<"Lorem ipsum dolor sit amet, consectetuer " "adipiscing elit. Aenean commodo ligula " "eget dolor. ", @@ -104,21 +104,21 @@ do() -> 109, 112, 101, 114, 32, 110, 105, 115, 105, 46, 32, 65, 101, 110, 101, 97, 110, 32, 118, 117, 108, 112, 117, 116, 97, 116, 101, 32, 101, 108, 101, 105, 102, 101, 110, 100, 32, 116, 101, 108, 108, 117, 115, 46>>, - %%StrBin = eVPack:encodeBin(Str), + %%StrBin = eVPack:encode(Str), - <<1>> = eVPack:encodeBin([]), + <<1>> = eVPack:encode([]), - <<19, 6, 49, 40, 16, 2>> = eVPack:encodeBin([1, 16], ?VpArrYc, ?VpObjDef), + <<19, 6, 49, 40, 16, 2>> = eVPack:encode([1, 16], ?VpArrYc, ?VpObjDef), Arr = <<"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. ", "Aenean massa. Cum sociis ...">>, ArrList = [Arr, 1, 2, 42], - <<19, _/binary>> = eVPack:encodeBin(ArrList, ?VpArrYc, ?VpObjDef), + <<19, _/binary>> = eVPack:encode(ArrList, ?VpArrYc, ?VpObjDef), %% ArrList = eVPack:decode(ArrBin), ArrLists = <<2, 12, 2, 5, 49, 50, 51, 2, 5, 49, 50, 51>>, ArrsBin = [[1, 2, 3], [1, 2, 3]], - ArrLists = eVPack:encodeBin(ArrsBin), - <<10>> = eVPack:encodeBin(#{}), - <<11, 8, 1, 65, 97, 65, 98, 3>> = eVPack:encodeBin(#{<<"a">> => <<"b">>}), - <<11, 13, 2, 65, 97, 65, 98, 65, 98, 65, 97, 3, 7>> = eVPack:encodeBin(#{a => <<"b">>, b => <<"a">>}), + ArrLists = eVPack:encode(ArrsBin), + <<10>> = eVPack:encode(#{}), + <<11,9,1,65,97,192,1,98,3>> = eVPack:encode(#{<<"a">> => <<"b">>}), + <<11,15,2,65,97,192,1,98,65,98,192,1,97, 3,8>> = eVPack:encode(#{a => <<"b">>, b => <<"a">>}), Maps = #{<<"0">> => #{<<"0">> => <<"test">>, <<"1">> => <<"test">>, <<"2">> => <<"test">>, <<"3">> => <<"test">>, @@ -148,7 +148,7 @@ do() -> 116, 65, 51, 68, 116, 101, 115, 116, 65, 52, 68, 116, 101, 115, 116, 3, 10, 17, 24, 31, 65, 52, 11, 43, 5, 65, 48, 68, 116, 101, 115, 116, 65, 49, 68, 116, 101, 115, 116, 65, 50, 68, 116, 101, 115, 116, 65, 51, 68, 116, 101, 115, 116, 65, 52, 68, 116, 101, 115, 116, 3, 10, 17, 24, 31, 3, 48, 93, 138, 183>>, - MapBin = eVPack:encodeBin(Maps, ?VpArrDef, ?VpObjNcYs), + MapBin = eVPack:encode(Maps, ?VpArrDef, ?VpObjNcYs), Mapss = #{<<"0">> => #{<<"0">> => <<"test">>, <<"1">> => <<"test">>, <<"2">> => <<"test">>, <<"3">> => <<"test">>, @@ -242,8 +242,8 @@ do() -> 68, 116, 101, 115, 116, 65, 51, 68, 116, 101, 115, 116, 65, 52, 68, 116, 101, 115, 116, 65, 53, 68, 116, 101, 115, 116, 65, 54, 68, 116, 101, 115, 116, 65, 55, 68, 116, 101, 115, 116, 65, 56, 68, 116, 101, 115, 116, 65, 57, 68, 116, 101, 115, 116, 3, 10, 17, 24, 31, 38, 45, 52, 59, 66, 5, 0, 90, 0, 175, 0, 4, 1, 89, 1, 174, 1, 3, 2, 88, 2, 173, 2, 2, 3>>, - MapsBin = eVPack:encodeBin(Mapss, ?VpArrDef, ?VpObjNcYs), + MapsBin = eVPack:encode(Mapss, ?VpArrDef, ?VpObjNcYs), MapCom = #{<<"a">> => 12, <<"b">> => true, <<"c">> => <<"xyz">>}, MapComBin = <<20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3>>, - MapComBin = eVPack:encodeBin(MapCom, ?VpArrDef, ?VpObjYc). + MapComBin = eVPack:encode(MapCom, ?VpArrDef, ?VpObjYc).