想将序列化后的pb数据保存到日志,每条数据用\001分割。
但是解析日志的时候(同样用\001)分割,发现数据分割异常,继续排查发现pb数据自身有很多\001、\002等这样的转义符,就连\t也被pb用了。
既然pb自身用了很多这样的转义符, 那么用什么字符分割日志呢?
想将序列化后的pb数据保存到日志,每条数据用\001分割。
但是解析日志的时候(同样用\001)分割,发现数据分割异常,继续排查发现pb数据自身有很多\001、\002等这样的转义符,就连\t也被pb用了。
既然pb自身用了很多这样的转义符, 那么用什么字符分割日志呢?
如果一定要pb存储数据并且分割的话,前缀一个长度就行。不过有个疑问,以字符串为主要组成部分的数据,pb和json的大小会差别很大么?可以考虑json + 数据压缩算法来做。灵活且可以根据数据特点选择合适的压缩方法。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
序列化后的pb 是 binary 的,会用到所有得字符,用啥分割都不靠谱。
binary数据存一般都是前面先记一个长度,后面存对应长度的内容。
存日志打成 json 不成吗?检索也方便 ...