B编码

B编码是一种简洁的数据组织方式,支持4种数据类型:bytestring、integers、lists和dictionaries。
integers、lists、和dictionaries类型分别以字母i、l、d作为首定界符。以字母e作为尾定界符。
bytestrings类型不使用首/尾定界符,其格式为<十进制标示的字符串长度>:<字符串>,比如 4:spam 表示字符串“spam”。
整型的编码格式为:i<十进制的整型数>e,即B编码中的整型以i作为起始符,以e作为终结符,i为integer的 第一个字母,e为end的第一个字母。比如 i-3e 是整数-3的B编码,i0e 是0的B编码。需要注意的是 i03e不是合法的因为03是十六进制的。
列表的格式为:l<如何合法的类型>e,列表以1为起始符,以e为尾定界符,中间可以是任何合法的进过B编码的类型。例如: l4:spam4:eggse 表示两个字符串,一个是spam,另一个是eggs。
字典的格式为: d<关键字><值>e,字典以d开头,以e结尾,关键字是一个经过B编码的字符串,值是任何合法的B编码类型,在d和e之间可以出现多个关键字和值对。例如: d4:spaml3:aaa3:bbbee 是一个字典,关键字是spam,值是一个列表,列表中有两个字符串aaa和bbb。

种子文件的结构

以.torrent为后缀名的种子文件包含了共享文件的一些信息。种子文件事实上是一个B编码的字典,它有如下关键字:
info是最重要的一个关键字,其值是一个字典,该字典都包含如下的关键字:

Linux BT下载(2)-B编码和种子文件相关推荐

  1. BT源代码学习心得(三):种子文件的编码方式 -- 转贴自wolfenstein (NeverSayNever)

    BT源代码学习心得(三):种子文件的编码方式 author: wolfenstein BT的作者使用了一种比较简单易懂的编码方式来对设计种子文件.这种编码方式能够很简单得对python中的各种数据类型 ...

  2. BT源代码学习心得(四):种子文件的生成 -- 转贴自wolfenstein (NeverSayNever)

    BT源代码学习心得(四):种子文件的生成 author: wolfenstein 在知道种子文件采取的编码方式后,我们现在可以来看一个种子文件具体是如何生成的了.在BT中,生成种子文件的可执行模块是 ...

  3. BT源代码学习心得(四):种子文件的生成

    BT源代码学习心得(四):种子文件的生成 发信人: wolfenstein (NeverSayNever), 个人文集 标  题: BT源代码学习心得(四):种子文件的生成 发信站: 水木社区 (We ...

  4. Linux BT下载(1)-基础入门

    什么是BT软件 很多人用过比特彗星.迅雷下载,PPLive等软件它们都采用了BT协议,故可以称为BT软件. 什么是BT协议 2003年,软件工程师Bram Cohen发明了BitTorrent协议,即 ...

  5. Linux下empress数据库,Linux命令compress使用“Lempress-Ziv”编码压缩数据文件

    compress命令使用"Lempress-Ziv"编码压缩数据文件.compress是一个相当古老的unix档案压缩指令,压缩后的档案会加上一个.Z 延伸档名以区别未压缩的档案, ...

  6. Linux系统上下载磁力链接magnet,种子文件torrent,Linux安装Aria2

    一.下载Aria2源代码 点击https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0.tar.gz 进 ...

  7. B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器

    B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器 1.什么是B编码 2.B编码格式 3.种子文件结构 3.1.主文件结构 3.2.info结构 4.简单的例子了解一下种子文件和B编 ...

  8. linux bt客户端 命令行,Linux下的Bt客户端

    Linux也要用,电影也是要看的,没有bt怎么行? 最早是使用Azureus,这个东西是Java开发的,应该说功能非常的全面,好像老外用得挺多,一向在sf.net的Most Downloaded中排在 ...

  9. BitCome比特彗星v1.82豪华版(bt下载)

    简介: BitComet(比特彗星)是一款高效专业的老牌国产BT下载软件,BT资源下载利器! BitComet独有长效种子功能,大幅度增加下载速度,增加种子存活率: 这款BT下载客户端支持BT/HTT ...

  10. idm如何下载种子文件和磁力链接 idm如何下载torrent

    采用分段式下载技术并支持断点续传的idm下载加速器,几乎可以胜任所有的下载任务.由于该软件强大的下载能力和仅为10MB的小巧体积,idm被来自全球的用户亲切地称为天花板级的下载软件.那么有关idm如何 ...

最新文章

  1. 【阿里云总监课第四期】时髦的云原生应用怎么写?
  2. nginx模型概念和配置文件结构
  3. JavaScript修饰器-让代码更干净
  4. unix环境高级编程——文件i/o
  5. Sketchup Pro(草图大师) 2017中文版 64位
  6. 给WIN2003 IIS SQL服务器安全加固
  7. vue router name命名规范_关于Vue项目微前端的实现
  8. 【毕业设计】基于单片机的超声波雷达系统
  9. RainMeter学习1
  10. Turbo码,接近完美的编码
  11. sprintf函数的用法linux,Linux 常用函数——sprintf函数
  12. Linux cp 复制文件强制覆盖的用法
  13. 银行简历计算机等级填错了,填错这几点,银行实习简历通过率几乎为0!
  14. consol32.exe
  15. 教你如何把M3U8转换成MP4丨NueXini M3U8 Downloader
  16. H5APP WEB 支付开发 (银联 微信 支付宝)流程
  17. 快速数论变换与多项式常用运算
  18. nubia/努比亚Z5Sn(32GB) root教程_方法
  19. 常见 Shell 指令
  20. Windows10环境下设置播放器默认软件打开方式

热门文章

  1. Filter -- 过滤敏感词汇
  2. 极客时间-算法训练营 3.2
  3. SSM面试题总结(含答案)
  4. 代码吃鸡:Python-Robocode
  5. erc20钱包下载_【重要公告】VNT Chain主网钱包使用指南
  6. GB35114视频流处理
  7. [转][darkbaby]任天堂传——失落的泰坦王朝(上)
  8. 计算机中的各种字符编码
  9. Itext 7 生成PDF总结
  10. 手机自动阅读挣钱,这次用脚本写