协议缓冲区textformat解析器在反斜杠字符上给出错误

时间:2014-02-27 23:15:40

标签: c++ parsing escaping protocol-buffers

我正在尝试使用c ++中的google :: protobuf :: TextFormat :: Parser解析文件。我文件中的一个字符串字段包含反斜杠。解析器的解析函数似乎只能使用双\或/而不是单个\有没有办法忽略我的消息中的单个反斜杠?或者我必须在解析之前预先处理文件。

1 个答案:

答案 0 :(得分:2)

Protobuf文本格式使用C-style escaping。因此,数据中的反斜杠必须表示为文本格式的两个反斜杠。类似地,如果字符串实际上包含双引号字符,那么您需要在其前面加一个反斜杠,以便解析器不将其视为字符串的结尾。

所以,是的,如果您正在使用原始文本并将其注入文本格式字符串,则需要对数据进行预处理以使其脱离。