Erlang 位字符串的长度

Erlang 位字符串的长度,erlang,bitstring,Erlang,Bitstring,我需要位字符串的长度。我为它创建了这样的函数: len( << Bitstr/bitstring >> ) -> len( Bitstr, 0 ). len( << _X, Tail/bitstring >>, Len ) -> len( Tail, Len + 8 ); len( << _X:7, Tail/bitstring >>, Len ) -> l

我需要位字符串的长度。我为它创建了这样的函数:

len( << Bitstr/bitstring >> ) ->
        len( Bitstr, 0 ).

len( << _X, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 8 );
len( << _X:7, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 7 );
len( << _X:6, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 6 );
len( << _X:5, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 5 );
len( << _X:4, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 4 );
len( << _X:3, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 3 );
len( << _X:2, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 2 );
len( << _X:1, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 1 );
len( <<>>, Len ) ->
        Len.
len(>)->
len(Bitstr,0)。
len(>,len)->
len(尾部,len+8);
len(>,len)->
len(尾部,len+7);
len(>,len)->
len(尾部,len+6);
len(>,len)->
len(尾部,len+5);
len(>,len)->
len(尾部,len+4);
len(>,len)->
len(尾部,len+3);
len(>,len)->
len(尾部,len+2);
len(>,len)->
len(尾部,len+1);
len(,len)->
伦恩。
但,也许有更好的方法来获取位字符串的长度?也许来点啤酒?(实际上我已经找过了,但没有找到)

谢谢使用该功能