【发布时间】:2012-07-13 03:10:00
【问题描述】:
协议缓冲区说它可以contain any arbitrary sequence of bytes。但是如果我的数据包含 '\0' ,协议缓冲区如何从字符串变量中编码我的整个数据。
【问题讨论】:
-
“字符串变量”是什么意思?这是
char *吗?是 C、Java 还是其他? -
@Marcelo 我猜他的意思是
stringfrom<string>... -
我不再是 c++ 人,但我的印象是
\0在 c++ 字符串中没有特殊意义除非您使用的方法专门处理\0。所以...不要使用那些方法? -
字符串可以包含
\0。一些 API 在字符串被 \0 终止的假设上运行(例如,传统的 C 运行时),但现代 API 在不需要 @ 的指针和长度或指针到开始和指针到结束表示上运行987654328@ 被视为“特殊”。 -
呃。我一定是错过了标题中的“c++”(或者它可能是在早期编辑窗口中添加的;我记得在寻找语言时没有看到它)。
标签: c++ string byte protocol-buffers