Skip to content

flying-sheep/bcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bcoding

yet another… but mine is fast as hell.

install

pip install bcoding

use

from bcoding import bencode, bdecode

decoding:

# decoding from binary files or streams:
with open('some.torrent', 'rb') as f:
        torrent = bdecode(f)
        print(torrent['announce'])

# decoding from (byte)strings:
one = bdecode(b'i1e')
two = bdecode('3:two')

encoding (note that any iterable or mapping can be bencoded):

# encoding into binary files or streams:
bencode({'a': 0}, sys.stdout.buffer) # ⇒ d1:ai0ee

# encoding to bytestrings:
assert bencode(('a', 0)) == b'l1:ai0ee'