Erlang中文论坛

标题: 用于解码的用法 [打印本页]

作者: high佬全    时间: 2015-1-13 00:43
标题: 用于解码的用法
  真是不好意思,因为暂时还没找到适合的foldl的列子所以先说下其他的代替,等日后我遇到好的例子再跟大家分享。
  以下的一个列子是个解码的函数,是对我首次发贴中打包的数据作为传进的参数(详情
就只好麻烦各位去看看小弟的第一封贴)。
首先Lists=[{?int32u,Name},{?int16u,Age},{?int8,Sex}]会encode打包成为一段二进制
的Bin,因为我们在解码之前,我们会清楚发送过来的数据是以怎样格式打包的,所以解码时我们
也应该以这种格式来解,这样一说我发觉我上次的打包有缺陷,我应该在打包后再次把一个代表这
种格式的元项压缩进去,因此以下的代码并不完美。
     
         decode(Bin,List)   ->

              case is_binary(Bin)of
                  true ->
                      <<Val:32/big-integer-unsigned,Bin_new/binary>>=Bin,
                       decode(Bin_new,[Val | List]);
                  false ->
                       List
               end.
            

              





欢迎光临 Erlang中文论坛 (https://bbs.erldoc.com/) Powered by Discuz! X3.3