bencoding:Bittorent协议使用的Bencoded数据的序列化和反序列化

时间:2024-05-20 23:17:32
【文件属性】:

文件名称:bencoding:Bittorent协议使用的Bencoded数据的序列化和反序列化

文件大小:45KB

文件格式:ZIP

更新时间:2024-05-20 23:17:32

Haskell

概要 是bittorrent协议中的格式,但可能在其他任何地方使用。 描述 对于许多本机数据类型,此程序包实现了与Bencode格式之间的快速无缝编码/解码。 为了获得我们使用和手动优化的解析器,因此该库被视为BEncode和AttoBencode包的替代品。 格式 Bencode与JSON非常相似:它具有字典(JSON对象),列表(JSON数组),字符串和整数。 但是,bencode有一些优点: 紧凑性:任何值之间都没有空格,也没有列表,字典,其他任何地方。 字典总是按字母顺序按字典顺序排序。 这使我们可以测试数据是否相等,而无需从原始字节串进行解码。 而且,这允许对编码的数据进行哈希处理(核心bittorrent协议大量使用此属性)。 所有字符串都以其长度作为前缀。 这简化并加速了字符串解析。 但是,与JSON相比有一些缺点: Bencode当然不太容易被人读懂。 Benc


【文件预览】:
bencoding-master
----.gitignore(60B)
----Setup.hs(46B)
----res()
--------debian-7.1.0-amd64-CD-1.iso.torrent(26KB)
----src()
--------Data()
----.travis.yml(665B)
----bencoding.cabal(3KB)
----LICENSE(1KB)
----ChangeLog(1KB)
----bench()
--------Main.hs(6KB)
----examples()
--------pp.hs(300B)
----README.md(2KB)
----tests()
--------properties.hs(2KB)
----TODO.org(549B)
----.gitattributes(25B)
----.mailmap(67B)

网友评论