Protobuf的奇怪问题解决--Expected top - level statement (e.g "message")

转换.proto为java文件的过程中,报错:Expected top - level statement (e.g "message")。截图如下:

 

Protobuf的奇怪问题解决--Expected top - level statement (e.g "message")_第1张图片

 

查询问题原因,原来是由于编码格式的问题,因为,我使用UE打开了文件,并保存为UTF-8的形式。因此,会在文件的开头有一个特殊的字符,详见下图:

 

Protobuf的奇怪问题解决--Expected top - level statement (e.g "message")_第2张图片

 

通过查找发现了问题的原因,由于我使用的是中文简体的windows,因此,他的默认编码为GB2312。如果proto使用了其他的编码格式,就会因为第一个字母为乱码而报错,我的这个文件就是UTF-8的。修改了编码格式之后,就可以正常生产java文件了。或者,一开始就使用notepad建立文件,也可以解决这个问题。

 

生产成功的截图如下:

 

 

Protobuf的奇怪问题解决--Expected top - level statement (e.g "message")_第3张图片

 

http://blog.csdn.net/yangtzh/article/details/45165763

你可能感兴趣的:(level,top,statement,-,(e.g,"message"))