protobuf序列化的问题
来源:18-2 分布式爬虫架构

鱼右
2018-12-26
老师你好, 我现在想用protobuf,重写老师的代码, 遇到了一些疑问,希望老师有空可以帮忙 解决一些,谢谢!
1. 这里是我在protobuf,生成文件中 截取的一段代码, 老师这里是个指针为什么可以直接序列化呢?
2. 老师在课程中也有一个嵌套对象的例子, 当时你是把它拆分了, 直接把那个对象序列化不行吗
3. 那是不是python的class也可以被序列化呢
4. 这种序列化class 或者函数的原理 与序列化字符串有什么不同吗?, 它们的原理是什么呢?多谢!!!!!
写回答
1回答
-
首先我们明确下序列化的概念。就是把一个"东西"转化成字节流,并且能够通过反序列化复原。这个转化的方法,可以是系统自带也可以是库来提供也可以自己写

1. 这里是我在protobuf,生成文件中 截取的一段代码, 老师这里是个指针为什么可以直接序列化呢?
protobuf的库里面会看到这是个指针然后把他指向的内容进行序列化。你可以使用断点跟进去看一下相关代码
2. 老师在课程中也有一个嵌套对象的例子, 当时你是把它拆分了, 直接把那个对象序列化不行吗
如果使用json或是protobuf库的话,就可以直接序列化。
3. 那是不是python的class也可以被序列化呢
python里面有一个pickle库,或者干脆json库,都可以做这样的序列化。
4. 这种序列化class 或者函数的原理 与序列化字符串有什么不同吗?, 它们的原理是什么呢?多谢!!!!!
原理的话,能够转成字节流再转回去就可以啦。字符串因为本身底层就是个字节流,所以不用转换直接把底层数据传出去即可012018-12-26
相似问题