# bencode.decoder 库模块帮助文档

## bencode 成员列表 <a id="bencode" href="#bencode">&#x23;</a>

### bencode.decoder <a id="bencode.decoder" href="#bencode.decoder">&#x23;</a>
创建 bencode 解码器

### bencode.decoder() <a id="bencode.decoder" href="#bencode.decoder">&#x23;</a>
[返回对象:BencodeDecoderObject](#BencodeDecoderObject)

### bencode.decoder(data) <a id="bencode.decoder" href="#bencode.decoder">&#x23;</a>
创建 bencode 解码器，参数 @data 指定字符串或 buffer 对象。  
传入其他类型返回 null,错误信息。

## BencodeDecoderObject 成员列表 <a id="BencodeDecoderObject" href="#BencodeDecoderObject">&#x23;</a>

### BencodeDecoderObject.decode() <a id="BencodeDecoderObject.decode" href="#BencodeDecoderObject.decode">&#x23;</a>
bencode 解码。  
成功返回解码得到的对象，第 2 个返回值为剩余未编码的数据（全部解码则为 null）。  
失败返回 null,错误信息。  
如果不需要获取原始数据可直接使用 bencode.decoder.decode 函数。

### BencodeDecoderObject.getRange(对象) <a id="BencodeDecoderObject.getRange" href="#BencodeDecoderObject.getRange">&#x23;</a>
参数传入解码后返回的字典或列表对象,  
返回该对象在解码前原始数据中的起始位置,结束位置

### BencodeDecoderObject.getString(对象) <a id="BencodeDecoderObject.getString" href="#BencodeDecoderObject.getString">&#x23;</a>
参数传入解码后返回的字典或列表对象,  
返回该对象在解码前的原始数据

### BencodeDecoderObject.rest <a id="BencodeDecoderObject.rest" href="#BencodeDecoderObject.rest">&#x23;</a>
调用 decode 函数以后用于保存剩余未编码的数据。  
如果已全部解码则此字段为 null 值。  

注意 decode 方法的第 2 个返回值也会返回剩余未编码的数据。
