无法从"中获得正确的中文字符google :: protobuf :: TextFormat :: PrintToString"

时间:2017-07-04 06:42:49

标签: protobuf-c

我使用protobuf来读写配置文件。但我发现中文字符无法正确写入文件。

编码:

zrd::Config cfg;
zrd::Market *market = nullptr;
market = cfg.add_market();
market->set_id("11");
market->set_name("清江冷链市场");
market->set_district("六合区");

string content;
google::protobuf::TextFormat::PrintToString(cfg, &content);

运行完成后,内容如下:

市场{\ n id:\" 11 \" \ n名称:\" \ 346 \ 270 \ 205 \ 346 \ 261 \ 237 \ 345 \ 206 \ 267 \ 351 \ 223 \ 276 \ 345 \ 270 \ 202 \ 345 \ 234 \ 272 \" \ n分区:\" \ 345 \ 205 \ 255 \ 345 \ 220 \ 210 \ 345 \ 214 \ 272 \&# 34; \ N}

为什么汉字会转换成那种方式?当我使用ofstream将内容写入文件时,这样的汉字不方便阅读。但是probobuf可以成功解码它。

我想知道是否有办法以正确的方式保存汉字?

0 个答案:

没有答案