最近天天都在玩Protobuf,因此,最近总结的问题过半都是关于它的。话说昨天遇到一个很奇怪的问题,转换.proto为java文件的过程中,报错:Expected top - level statement (e.g "message")。截图如下:
查询问题原因,原来是由于编码格式的问题,因为,我使用UE打开了文件,并保存为UTF-8的形式。因此,会在文件的开头有一个特殊的字符,详见下图:
通过查找发现了问题的原因,由于我使用的是中文简体的windows,因此,他的默认编码为GB2312。如果proto使用了其他的编码格式,就会因为第一个字母为乱码而报错,我的这个文件就是UTF-8的。修改了编码格式之后,就可以正常生产java文件了。或者,一开始就使用notepad建立文件,也可以解决这个问题。
生产成功的截图如下:
时间: 2024-10-15 05:21:04