跳转到主要内容

可选快速C扩展的bencode实现

项目描述

fastbencode

fastbencode是BitTorrent最初使用的bencode序列化格式的实现。

该包包括一个纯Python版本和一个基于Cython的可选C扩展。两者都提供相同的功能,但C扩展提供了显著更好的性能。

示例

>>> from fastbencode import bencode, bdecode
>>> bencode([1, 2, b'a', {b'd': 3}])
b'li1ei2e1:ad1:di3eee'
>>> bdecode(bencode([1, 2, b'a', {b'd': 3}]))
[1, 2, b'a', {b'd': 3}]

默认的bencode/bdecode函数仅对字节串操作。使用bencode_utf8 / bdecode_utf8将所有普通字符串序列化/反序列化为UTF-8字节串。请注意,出于性能原因,所有字典键仍然必须是字节串。

许可协议

fastbencode可在GNU GPL,版本2或更高版本下使用。

版权

  • 原始纯Python bencoder(c)Petru Paler
  • Cython版本和修改(c)Canonical Ltd
  • 由Jelmer Vernooij从Bazaar/Breezy中分离出来

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面