python 3中bencode编码的实现

torrent-bencode的Python项目详细描述


python 3中bencode编码的实现

用法

importbencodebencode.encode(OrderedDict((1,2),(b'eggs',b'spam')))bencode.decode(b'i3e')

编码的类型映射:

Bencode typePython type
DictionaryOrderedDict
Listlist
Byte stringbytes
Integerint

解码的类型映射:

Python typeBencode type
dictDictionary
list or tupleList
bytesByte string
intInteger

如果传递的是ordereddict而不是普通dict,则订单将被保留。

压缩对等编码

该软件包还包括BEP 0023规定的“压缩”对等编码功能。虽然不是bencode本身的一部分,但它经常使用紧凑的对等编码。干线dht和大多数跟踪器以这种格式编码对等信息。

用法:

frombencode.miscimportpack_compact_peers_list,unpack_compact_peers_listpack_compact_peers_list((('127.0.0.1',8080),('127.0.0.1',9090)))b'\x7f\x00\x00\x01\x1f\x90\x7f\x00\x00\x01#\x82'unpack_compact_peers_list(b'\x7f\x00\x00\x01\x1f\x90\x7f\x00\x00\x01#\x82')(('127.0.0.1',8080),('127.0.0.1',9090))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Kafka producer大量内存使用(泄漏?)   java NullPointerException。。。正在插入数据但无法检索数据[Mysql DB]   java spring+jpa+hibernate=没有可用于当前线程的实际事务的EntityManager无法可靠地处理“persist”调用   getelementbyid在没有ID的情况下如何在java中使用GetElementsById   java有没有一种使用WatchService强制轮询的方法?   java将值从jframe传递给另一个jframe并使用它   Java/Groovy中带重试的反应式事件处理   具有两个包装器元素的java Jackson XML ArrayList输出   java总是在范围内使用不同的随机元素   取消选择java下拉列表值   多线程如何在Java中为对象的不同成员拥有不同的同步块   java如何使用多线程从文本文件中读取输入   java Spring启动附加崩溃命令   java使用公共或单独的actionPerfomed方法有什么区别   java用Spring3.0中的SpEL替换JSP中的EL   java作为windows服务运行应用程序时无法访问共享文件夹   java xml 1.1规范中的“解析数据”是什么意思?   以编程方式设置JComboBox索引时java触发ItemListener   java Android WebView:只加载HTML,不加载JS或CSS(在某些设备中)   Java:计算do/while循环的数量