bencode: BitTorrent Bencode Decoding
1 Introduction
String —
Racket byte string. Integer —
Racket integer. List —
Racket list. Dictionary —
Racket list with the symbol dictionary as its head, and an association list as its tail. (This is for historical reasons, from when this package was for Scheme; were this package written today, this type would be a hash.)
> (unbencode (open-input-file "debian.torrent"))
((dictionary |
(#"announce" . #"http://cdimage.debian.org:6969/announce") |
(#"comment" . #"Debian CD from cdimage.debian.org") |
(#"creation date" . 1105009474) |
(#"info" |
dictionary |
(#"length" . 600158208) |
(#"name" . #"debian-30r4-i386-binary-1.iso") |
(#"piece length" . 524288) |
(#"pieces" . [...large byte string...])))) |
2 Interface
3 History
- Version 3:0 —
2016-02-28 Moving from PLaneT to new package system
- Version 2:0 —
2012-06-12 Converted to McFly.
Changed package home page URL.
- Version 1:1 —
2009-03-03 Library is now LPGL 3.
Converted to author’s new Scheme administration system.
- Version 1:0 —
2005-04-17 Initial release.
4 Legal
Copyright (c) 2005, 2009, 2012, 2016 Neil Van Dyke. This program is Free Software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See http://www.gnu.org/licenses/ for details. For other licenses and consulting, please contact the author.