什么类型的编码,这是? 有人告诉我这是Bencode,但它看起来并不标准[关闭](What ty

2019-09-22 05:49发布

我工作中,他们都存储在以下类型的编码数据在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解析器,并为编码具有一个名字在我的搜索肯定会有所帮助。

Answer 1:

这是PHP序列化格式,不可序列化使用unserialize
见http://codepad.org/l7Z9cITo 。



文章来源: What type of encoding is this? I am told it's Bencode, but it doesn't look standard [closed]