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

来源:互联网 发布:大数据时代营销 编辑:程序博客网 时间:2024/04/29 23:42

最近天天都在玩Protobuf,因此,最近总结的问题过半都是关于它的。话说昨天遇到一个很奇怪的问题,转换.proto为java文件的过程中,报错:Expected top - level statement (e.g "message")。截图如下:




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




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


生产成功的截图如下:





0 1
原创粉丝点击