我工作中,他们都存储在以下类型的编码数据在MySQL数据库中的BLOB类型列的项目。 我一打听,被告知这是Bencode,不过,从我所看到网上不显示为标准Bencode。
维基Bencode
http://en.wikipedia.org/wiki/Bencode
编码数据的实施例
a:11:{i:0;a:3:{s:11:"question_id";s:2:"46";s:6:"answer";s:1:"2";s:7:"correct";b:1;}i:1;a:3:{s:11:"question_id";s:2:"45";s:6:"answer";s:1:"2";s:7:"correct";b:0;}i:2;a:3:{s:11:"question_id";s:2:"44";s:6:"answer";s:1:"2";s:7:"correct";b:0;}i:3;a:3:{s:11:"question_id";s:2:"43";s:6:"answer";s:1:"1";s:7:"correct";b:0;}i:4;a:3:{s:11:"question_id";s:2:"42";s:6:"answer";s:1:"3";s:7:"correct";b:0;}i:5;a:3:{s:11:"question_id";s:2:"41";s:6:"answer";s:1:"2";s:7:"correct";b:0;}i:6;a:3:{s:11:"question_id";s:2:"40";s:6:"answer";s:1:"0";s:7:"correct";b:1;}i:7;a:3:{s:11:"question_id";s:2:"39";s:6:"answer";s:1:"0";s:7:"correct";b:0;}i:8;a:3:{s:11:"question_id";s:2:"38";s:6:"answer";s:1:"1";s:7:"correct";b:1;}i:9;a:3:{s:11:"question_id";s:2:"37";s:6:"answer";s:1:"3";s:7:"correct";b:0;}i:10;a:3:{s:11:"question_id";s:2:"36";s:6:"answer";s:1:"2";s:7:"correct";b:1;}}
我到目前为止已经发现
我注意到,该编码描述了不同类型的使用类似于Bencode字母和整数数据。
例如: s:11:"question_id";
我假设s
代表“串”,而11
被定义字符串的长度question_id
。 此外,它会出现的数据(的开头a:11:
描述了的11的长度的阵列虽然这类似于标准Bencode,它似乎不使用Bencode使用标准的语法。
没有人有任何的想法是什么类型的编码,这是? 这是一个非标准Bencode格式,或完全不同的东西? 我正在寻找在PHP或Python解析器,并为编码具有一个名字在我的搜索肯定会有所帮助。