Python3定标器实现
py3-bencode的Python项目详细描述
Python3定准库
Python 3 bytearray bencoding库
将所有数据编码成byte
有助于建立关系网。
示例
>>>frombencodeimportbencode,bdecode>>>foo=bencode({"foo":[0,-1,2,"3",{"4":5}],"bar":{"baz":1}})>>>print(foo)b'd3:bard3:bazi1ee3:fooli0ei-1ei2e1:3d1:4i5eeee'>>>bar=bdecode(foo)>>>print(bar){b'bar':{b'baz':1},b'foo':[0,-1,2,b'3',{b'4':5}]}
decoder
对于bdecode
函数bdecode
中的可选参数,为其他类型提供解码字节它有助于将dict键解码为字符串。
decoder
是带参数的回调函数:field_type
,value
field_type
str,可能值:"key"
,"value"
value
字节。
>>>defcustom_decoder(field_type,value):...iffield_type=="key":...returnstr(value,"ascii")...eliffield_type=="value":...returnstr(value,"utf-8")...else:...raiseException("'field_type' can pass only 'key' and 'value' values")...>>>bar=bdecode(foo,decoder=custom_decoder)>>>print(bar){'bar':{'baz':1},'foo':[0,-1,2,'3',{'4':5}]}